gpt4 book ai didi

objective-c - 更改 UITableViewCell 框架但没有用

转载 作者:搜寻专家 更新时间:2023-10-30 20:21:31 29 4
gpt4 key购买 nike

UITableViewCell *cell = [tableViewController.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:1 inSection:0]];

[cell setFrame:CGRectMake(cell.frame.origin.x, cell.frame.origin.y - 34, cell.frame.size.width, cell.frame.size.height)];

我想更改表格 View 单元格的框架,代码在某些 ViewController 中工作,但有些不起作用。我想知道它有什么问题吗。

非常感谢。

最佳答案

您无法完全控制单元框,尤其是原点。 TableView 委托(delegate)被要求提供 TableView 单元格,但随后它的位置取决于 TableView 的内部逻辑,以便将单元格正确放置在 TableView (它是 ScrollView 子类)中。当表格 View 的显示部分被刷新时,单元格位置被重新排列并且框架原点被更新。因此,虽然您的代码没有错误,但它与您无法完全控制的某些表内部规则冲突,因此结果可能无法预测。

如果您希望看到此更改的可见效果,您可以将帧更改器代码移动到代码的另一部分,例如里面

tableView:didSelectRowAtIndexPath:
在这种情况下,您可以例如触摸一个单元格,调用此代码并更改单元格框架,您将立即进行更改。但是,一旦您将该单元格滚动出 iPhone 屏幕,然后将此单元格移回屏幕中,您会注意到它会重新出现在其原始位置。

关于objective-c - 更改 UITableViewCell 框架但没有用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9859954/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com