如何通过XIB 创建自定义的UIViewTableCell

2025-02-27 05:50:19
推荐回答(3个)
回答1:

        Xcode中集成的BI中的控件十分丰富,但有时候难免不能满足我们的需求,今天讲一下如何使用XIB自定义一个UIView。

       通过XIB 创建自定义的UIViewTableCell详细流程

        目录视图:

        1、新建一个single view application类型的iOS application工程,名字取为CustomView,如下图,我们不往CustomViewViewController.xib中添加任何控件

        2、新建一个CustomView.xib,过程如下:

        然后往界面上拖一个label和一个button:

        3、修改View视图的属性:

        去掉Autolayout:

        设置Size为Freeform,设置背景颜色:

        4、设置ZYViewController.xib中的View的Size属性为None:

        ZYViewController.m代码:

- (void)viewDidLoad  

{  

    [super viewDidLoad];  

    //获得nib视图数组  

    NSArray *nib = [[NSBundle mainBundle]loadNibNamed:@"CustomView" owner:self options:nil];  

    //得到第一个UIView  

    UIView *tmpCustomView = [nib objectAtIndex:0];  

    //获得屏幕的Frame  

    CGRect tmpFrame = [[UIScreen mainScreen] bounds];  

    //设置自定义视图的中点为屏幕的中点  

    [tmpCustomView setCenter:CGPointMake(tmpFrame.size.width / 2, tmpFrame.size.height / 2)];  

    //添加视图  

    [self.view addSubview:tmpCustomView];  

      

}  

        运行结果:

        3、结语

        以上是所有内容,希望对你有所帮助。

回答2:

一、通过XIB来创建自己的个性化的cell:

1.Add----New Filss---Cocoa Touch Classes---Object-C  Class 

创建一个 从 UITabelViewCell继承的类   UISpecialTableViewCell

2.Add---New Files----User Interface-----Empty XIB

创建一个空的  UISpecialTableViewCell.xib 文件,记住,XIB的名称一定要跟 签名的类的名称一致,也就是一模一样。

 一定要选 Empty XIB类型,如果不是选的这个,那么创建的XIB里面的已经存在的那个UIView将不能调整高度,它的高度固定死了。

因为是空的XIB文件,所有往文件列表框中拖入一个 UIView的控件,然后将这个UIView的类名在属性器里面从UIView

 改为UISpecialTableViewCell。

3.这样,就可以往这个新添加的View里面添加我们自己的个性化控件了,这个View就是我们的Cell的模板了。这个过程跟普通的XIB一样,没有什么特别的。

二、如何在代码中使用UISpecialTableViewCell:

代码如下:

[cpp] view plain copy

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath   

{  

       static NSString *CellIdentifier = @"UISpecialTableViewCell";      

    UISpecialTableViewCell *cell = (UISpecialTableViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];  

    if (cell == nil)   

    {  

        cell= (UITwitterTableViewCell *)[[[NSBundle  mainBundle]  loadNibNamed:@"UISpecialTableViewCell" owner:self options:nil]  lastObject];  

        }  

// 自己的一些设置  

  

return (UITableViewCell *)cell;  

}  

}  

回答3:

在使用UIViewTable的时候,很多时候会发现,基本的UITableViewCell并不能满足我们的所有需求,特别是个性化的需求。 那么如何通过XIB来创建自己的个性化的cell呢。 1。Add----New Filss---Cocoa Touch Classes---Object-C Class 创建一个 从 UIT