我最初加载一个隐藏的tableView
包含一些数据,并在按下按钮时显示此信息,模拟下拉菜单。
在同一视图中,我有一个UIButton
按下时,会以编程方式创建另一个UIButton
和UITextField
。
问题在于,当我再次加载时,tableView
以及所有textField
和button
都会重叠。
这就是:
我的问题是如何在视图中保留tableView
。
答案 0 :(得分:0)
当您执行-addSubview:
时,视图会被添加为最顶层的视图
这是您新添加的textField
出现在tableView
上方的原因。
解决问题的最快方法是,在您计划展示时,tableView
是最顶层的视图。
示例:
[yourTableView setHidden:NO];
[self.view bringSubviewToFront:yourTableView];
<子>
假设self.view
包含yourTableView
子>
答案 1 :(得分:0)
您遇到的是细胞可重用性问题。
如果要在单元格上添加控件,当它们被重用时,它们将保留textFields,从而为您提供这种奇怪的并置结果。
你必须妥善保管删除textField,这会使事情变得更加复杂。
解决方案是子类UITableViewCell
,以便您拥有textfield
的原型单元格和没有的原型单元格。