0

我从 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

在上面的截图中,黄色高亮的按钮不能被按下,而蓝色的按钮可以。

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

4

2 回答 2

2

这是一个猜测,但您使用 CGRectZero 框架创建单元格。它不会剪辑它的子视图,因此它们仍然可以被看到,但它的子视图不会在超级视图的边界(为零)之外得到触摸。尝试分配initWithFrame:CGRect(/* some reasonable values */)

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

于 2013-07-30T05:40:16.183 回答
0

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

于 2013-07-30T12:53:41.933 回答