Xav*_*ier 50 uibutton uitableview ios ios7
我有一个tableview,每个单元格包含一个按钮.它在所有iOS版本中运行良好,但是7.我不知道发生了什么.单元格在一个xib文件中构建.
有人能给我一些建议吗?提前致谢.
b00*_*t3r 69
对我有用的是:
contentView.userInteractionEnabled = NO;
Run Code Online (Sandbox Code Playgroud)
从nib加载我的自定义单元格后调用.看起来在创建nib文件中定义的视图后,会创建此内容视图并将其设置为顶级子视图.
yon*_*nix 32
[cell bringSubviewToFront:button]从笔尖加载单元格后调用解决了这个问题.
us_*_*vid 27
我也在努力解决这个问题,我对stackoverflow和internet上的不同答案进行了大量研究,解决方案根据问题的根源而有所不同.对于大多数情况,您需要使用应该采取用户操作的元素(点击/单击等)执行以下操作:
myButton.userInteractionEnabled = YES;
特别是对于UILabel/UIImageView,默认情况下userInteractionEnabled标志为NO.
如果要从xib加载视图,则需要确保从自定义单元视图,内容视图以及要启用用户操作的元素,都选中了复选框:

在上面的示例中,DeviceViewCell,Content View和Button元素都选中了" User Interaction Enabled "复选框.
如果将自定义单元格实现为UITableViewCell的子类,并且动态地从另一个xib文件加载自定义单元格视图,那么您还需要做一件让大多数人感到困惑的事情,但我将
在后面解释原因:In自定义单元格的初始化方法,您需要执行以下操作:
self.contentView.userInteractionEnabled = NO
self您创建的UITableViewCell的子类在哪里.同样,如果自定义单元格被实现为UITableViewCell的子类,并且自定义单元格视图从另一个xib文件动态加载,则需要执行上述操作.这是解释:
self.contentView与Content View您在Interface Builder中看到的不同,它是由系统创建的,它位于default content view自定义单元格视图中每个其他视图/元素的TOP上,并且它模糊了视图层次结构中的其余视图.因此,在自定义单元视图中的UI元素可以接收用户交互事件之前,您需要为其禁用用户交互.希望这可以帮助.如果您有更好的解释,我很乐意听到:-).再次是我的观察,可能还有其他原因.欢迎讨论!
问题是你的nib不包含contentView,因为iOS 8 SDK需要(我是根据经验写的,没有可行的来源,对不起).
当您添加UITableViewController到故事板时,会UITableView自动添加UITableViewCell .如果你看看这个UITableView,你会看到contentView它.
因此,当您子类化UITableViewCell并使用.xib创建它时,您必须单击并拖动UITableViewCell到xib而不是默认值UIView.然后不要忘记将File Owner类和UITableViewCell类设置为您的子类.
小智 5
这个问题的解决方法是;
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
cell.bringSubviewToFront(cell.YOUR_UIView)
}
Run Code Online (Sandbox Code Playgroud)
这对我有用。
| 归档时间: |
|
| 查看次数: |
28715 次 |
| 最近记录: |