进入编辑模式时调整 UITableViewCell 的大小

发布于 2024-08-21 09:22:04 字数 144 浏览 5 评论 0原文

我有一个在 Interface Builder 中设计的单元格,当我进入编辑模式时,它将整个单元格移动到右侧,为删除图标腾出空间,但它将所有项目推到右侧,而不是缩小它们。它将 UILabel 推离单元格的边缘。另外,这是在移动手柄上。我如何缩小这些项目,而不是仅仅移动它们。

I have a cell that I have designed in Interface Builder, and when I enter edit mode, it moves the whole cell to the right to make space for the delete icon, but it pushes all items to the right, not shrink them down. It pushes a UILabel off of the edge of the cell. Also, this is over the move handles. How do I shrink these items down, instead of just moving them.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

愛放△進行李 2024-08-28 09:22:04

我从未在 Interface Builder 中制作过自定义表格视图单元。所以,我不知道如何解决 Interface Builder 上的问题。
但是,如果您以编程方式将所有项目添加到 UITableViewCell 的 contentView 属性中,而不是将这些项目添加到 UITableViewCell 本身中,则这些项目在进入编辑模式时会自动缩小。

I've never made a custom tableview cell in Interface Builder. So, I don't know how to solve your problem on Interface Builder.
But if you programmatically add all items into the contentView property of UITableViewCell instead of adding these into UITableViewCell itself, these items would automatically shrink when entering edit mode.

—━☆沉默づ 2024-08-28 09:22:04

我有一个部分解决方案。
在自定义单元格对象上,我创建了一个 IBOutlet 到包含单元格中所有子视图的视图(myContentView)。
这样我可以运行此代码来缩小它:

OrderReviewCell * cell = (OrderReviewCell * )[reviewTable cellForRowAtIndexPath:indexPath];
CGRect frame = cell.myContentView.frame;
frame.size.width = 200;
cell.myContentView.frame = frame;

我认为放置此代码的最佳位置是在 shouldIndentWhileEditingRowAtIndexPath 中,但我的问题是在哪里放置将单元格返回到正常状态的代码?

希望它有帮助,当您找到正确答案时请告诉我!
贡索

I have a partial solution.
On the custom cell object I've created a IBOutlet to the view that holds all subviews in the cell (myContentView).
This way I can run this code to shrink it:

OrderReviewCell * cell = (OrderReviewCell * )[reviewTable cellForRowAtIndexPath:indexPath];
CGRect frame = cell.myContentView.frame;
frame.size.width = 200;
cell.myContentView.frame = frame;

I've figured that the best place to put this is in shouldIndentWhileEditingRowAtIndexPath but my problem is Where to put the code that returns the cell to its normal state?

Hope it helps and DO let me know when you find the right answer!
Gonso

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文