使用UITableViewCell实例时,按钮被禁用,就像它是UIView实例一样

时间:2013-07-30 05:35:17

标签: objective-c uiview uitableview uibutton

我从UITableViewCell扩展了一个自定义视图。

在CustomTableViewCell中,我实现了init方法,以便加载包含按钮的相应.xib。

但是,我想重用它,好像它是一个普通的UIView实例。例如,我想将它添加为我的视图控制器的子项

// in view controller
CustomTableViewCell* customTableViewCell = [[CustomTableViewCell alloc] init];
[self.view addSubview:customTableViewCell];

问题是,可以添加自定义表格视图单元格,但不能按下它所持有的按钮。同时,由表视图填充的自定义表格视图单元格的按钮工作正常。

https://www.evernote.com/shard/s27/sh/59f7b828-f65a-41dc-9156-40a985fceac8/9edb04b8e5c821ad7a46eb714cc776dc

在上面的屏幕截图中,无法按下黄色突出显示的按钮,而蓝色则可以。

任何人都知道为什么它不起作用?

2 个答案:

答案 0 :(得分:2)

这是猜测,但您使用CGRectZero框架创建单元格。它不会剪切它的子视图,因此它们仍然可以被看到,但是它的子视图不会超出超视图的界限(它们为零)。尝试分配initWithFrame:CGRect(/* some reasonable values */)

一旦你开始工作,你可以尝试一些布局约束。

答案 1 :(得分:0)

如果您已将按钮的操作分配给xib文件中的文件所有者,则可能需要在'init'方法中传递文件所有者。