无法编辑 UITableView frame.y

Posted

技术标签:

【中文标题】无法编辑 UITableView frame.y【英文标题】:Can't edit UITableView frame.y 【发布时间】:2010-09-30 16:09:01 【问题描述】:

有一个顶部有一个 UISearchBar 和一个 UITableView 的 nib 文件。

想要在 UISearchBar 的输入顶部添加一个按钮和一些文本。所以我做了(在 viewWillAppear 中):

[searchBar setFrame:CGRectMake(0, 0, 320, 90)];

到目前为止工作正常(除了输入的位置需要垂直对齐到底部而不是居中,有什么提示吗?)。

但 tableView 的内容现在与 searchBar 重叠。以为我可以解决这个问题:

[self.tableView setFrame:CGRectMake(0, 70, 320, 300)];

这没有效果。 (我调试了一下,似乎我也无法编辑 searchBar 的来源)。

我可以得到 self.tableView.frame.origin.x (y, width, height)。但我不能修改它。

请指出正确的方向。对这个话题(自定义 UI 元素的颜色、样式、对齐方式、位置、大小)感到有些迷茫。

【问题讨论】:

你能解决这个问题吗? 【参考方案1】:

您可以设置框架组件(x、y、宽度、高度),但如何设置并不是很明显。由于该属性适用于“框架”,因此您一次只能编辑整个框架,因此操作如下:

CGRect newFrame = self.tableView.frame;
newFrame.origin.x = desired_x_value;
self.tableView.frame = newFrame;

【讨论】:

他正在使用setFrame:frame 属性设置为一个整体 真的。看起来很奇怪,因为 UISearchBar 的高度是可编辑的,如您所知。

以上是关于无法编辑 UITableView frame.y的主要内容,如果未能解决你的问题,请参考以下文章

XCode为不同的行编辑UITableView textFields

UITableView 自定义单元格中的 UIButton 触摸无法正常工作

故事板中的 UITableView 部分空白

无法在弹出控制器中显示的 UITableView 上显示重新排序控件

UITableView编辑

UITableView:加载所有单元格