0

有一个带有 TableViewController 的故事板,它有一个分组的表格视图。在第一部分,我希望单元格的宽度小于全屏。为了完成后者,我有一个带有以下方法的自定义 UITableViewCell 类:

- (void)setFrame:(CGRect)frame {
    frame.origin.x += NAME_TABLE_VIEW_INSET;
    frame.size.width -= NAME_TABLE_VIEW_INSET;
    [超级 setFrame:frame];
}

这很好用。我遇到的问题是,我拖入情节提要单元格的 UITextField 子视图不会自动将其宽度调整为新的单元格框架大小。

我尝试对 UITextField 进行子类化并确保正确设置了 autoResizingMask,并且我尝试在上面的 setFrame 方法中使用 [super layoutSubviews]。这些方法都不起作用。

关于如何让文本字段在仍然使用这种情节提要方法的同时自动调整其宽度的任何建议?

4

1 回答 1

0

解决方案是在表视图控制器提供的 tableView 的标题中添加一个单独的表视图。具体来说,在 IB 中的 table view 的顶部添加一个 view 对象;将表视图作为子视图添加到该视图中;更改新表格视图单元格的宽度。

请注意,这个问题的存在只是因为我想使用一个表格视图控制器,它将每个单元格默认为屏幕的宽度。可以使用视图控制器,但是您不能添加带有静态单元格的表格视图作为子视图。

于 2012-12-19T07:16:40.193 回答