UITableViewCells 在编辑模式下更改大小
我想在编辑模式下更改 UITableviewCell
的外观,就像苹果地址簿中显示的那样。单元格应该调整大小,我将添加 UITextFields 作为子视图。 我知道要更改单元格的外观,您必须覆盖单元格中的 LayoutSubviews 函数。我尝试这样做,并且得到了一些有趣的效果并调整了大小:-)
我已经寻找了一段时间在网上找到一些提示,但我没有找到。 如果有人可以提供一些提示如何正确执行此操作?教程或代码的链接就可以了。
谢谢 涡流
I want to change the appearance of an UITableviewCell
in edit mode like it is shown in the address book from apple. The cell should resize and i will add UITextFields
as subviews.
I know that to change appearance of a cell you have to overwrite the LayoutSubviews
function in the cell. I tried to do that and i had some funny effects and resizing :-)
I have looked for a while to find some hints on the net but i didnt find one.
If anyone could provide some hints how to do this right? Links to tutorials or code will be fine.
Thanks
Eddy
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
覆盖
setEditing:animated:
并重新加载表格视图单元格并不是一个好主意。这非常耗费资源,而且不是合适的地方。
在
UITableViewCell
的子类中,重写方法didtransitionToState:在那里,您可以直接对细胞出口进行操作,如下所示:
It's NOT a good idea to overwrite
setEditing:animated:
and reload your table view cells there.That is very resource-expensive, and not the right place to do it.
In the subclass of
UITableViewCell
, override method didtransitionToState:There, you can act directly on the cell outlets, like so :
如果您想调整单元格高度的大小,您还应该更改 UITableView 委托中的“heightForRowAtIndexPath”。
至少这是我偶然发现的事情。
If you want to resize the cells height you should also change "heightForRowAtIndexPath" in your UITableView Delegate.
At least that is a thing I stumbled over a few times.
当您设置 myTable.editing=YES; 时,它会调用表视图数据源和委托方法。
因此,如果您有任何数据要在表中显示,那么上面的代码行将调用 delgate 方法
,以便您可以在此处编写代码
when you set
myTable.editing=YES;
it calls table view datasource and delegate method.so if you have any data to display in table then the above code line calls the delgate method
so you can code here
覆盖
setEditing:animated:
并在那里重新加载表格视图单元格。Overwrite
setEditing:animated:
and reload your table view cells there.