【发布时间】:2012-10-23 18:00:35
【问题描述】:
我有两个UITableView 并排显示。在视图的最右侧还有一个UITextView。
所以第一个宽度为 300px 的UITableView 位于最左侧。第二个UITableView 位于视图的中心。该表格的宽度为 150 像素。然后是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 对此负责吗?如果是这样,我应该如何解决这个问题?
【问题讨论】:
标签: objective-c ios uitableview autoresizingmask