我有两个UITableView
并且两者并排显示。在视图的最右侧还有一个UITextView
。
因此宽度为300px的第一个UITableView
位于最左侧。第二个UITableView
位于视图的中心。此表的宽度为150px。然后是UITextView
,它具有动态宽度(因为不同方向的宽度不同),正如我之前提到的那样,它位于最右侧。
问题是2 UITableViews
大小不同,具体取决于方向。
这是我初始化它们的方式:
UITableView *bookTable = [[UITableView alloc]initWithFrame:CGRectMake(0, 102, 300, self.view.bounds.size.height - 102)];
[bookTable setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleRightMargin];
UITableView *pageTable = [[UITableView alloc]initWithFrame:CGRectMake(bookTable.bounds.size.width, 102, 150, self.view.bounds.size.height - 102)];
[pageTable setAutoresizingMask:UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin];
UITextView *notesView = [[UITextView alloc]initWithFrame:CGRectMake((bookTable.bounds.size.width + pageTable.bounds.size.width), 102, self.view.bounds.size.width - (bookTable.bounds.size.width + pageTable.bounds.size.width), self.view.bounds.size.height - 102)];
[notesView setAutoresizingMask:UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin];
如您所见,我在每个人上设置了autoresizingMask
。发生了什么事
bookTable的纵向宽度为300px,但当我转向横向时,宽度变为400px。
autoresizingMask
对此负责吗?如果是这样,我应该如何解决这个问题?
答案 0 :(得分:0)
我有类似的问题。您可能需要发布更多代码,但应使用'UITableViewDataSource'方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
这样您就可以将文本字段添加到单元格子视图中,然后设置自动调整大小。
[cell.contentView addSubview:textField];
[cell setAutoresizesSubviews:YES];