将子视图添加到UITableViewCell内容视图

时间:2011-12-05 11:06:50

标签: iphone objective-c ios

如何从实施文件中添加subView到自定义UITableViewCell,即MyCustomCell.m方法中的drawRect?而不是在视图控制器中的cellForRowAtIndexPath方法中添加它......

我尝试[self.contentView addSubView: view1];,但它会发出此警告:UIView may not respond to -addSubView:

编辑:

导致崩溃的代码是:

- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier {
    if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) {
        // Initialization code (add your view here.)
        [self.contentView addSubView: self.view1];
    }
    return self;
}

4 个答案:

答案 0 :(得分:1)

这是你的错误拼写;不是addSubView:,而是addSubview:

答案 1 :(得分:1)

你的问题是你正在调用错误的方法。该方法不是addSubView:,而是addSubview:。您可以在Apple文档页面上查找:http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/uiview/uiview.html

答案 2 :(得分:0)

你可以用这个......

- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier {

if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) {

// Initialization code (add your view here.)


}

return self;

}

在这里你可以添加你的子视图.. 编辑:

我用这个来制作我的自定义单元格,它运行正常.... http://blog.webscale.co.in/?p=284

答案 3 :(得分:0)

看起来self.view1尚未初始化。您应该稍后添加它。我要做的是,在cellForRowAtIndexPath:(NSIndexPath*)indexPath方法中,在单元格初始化之后,调用一个设置单元格的方法,添加所需的视图或您需要的任何其他元素。