Objective c UITableView宽度不一致
我有两个Objective c UITableView宽度不一致,objective-c,ios,uitableview,autoresizingmask,Objective C,Ios,Uitableview,Autoresizingmask,我有两个UITableView,它们并排显示。视图的最右侧还有一个UITextView 因此,宽度为300px的第一个UITableView位于最左侧。第二个UITableView位于视图的中心。这张桌子的宽度是150px。然后是UITextView,它有一个动态宽度(因为不同方向有不同的宽度),正如我前面提到的,它位于最右侧 问题在于2个uitableview的大小因方向不同而不同 我就是这样初始化它们的: UITableView *bookTable = [[UITableView allo
UITableView
,它们并排显示。视图的最右侧还有一个UITextView
因此,宽度为300px的第一个UITableView
位于最左侧。第二个UITableView
位于视图的中心。这张桌子的宽度是150px。然后是UITextView
,它有一个动态宽度(因为不同方向有不同的宽度),正如我前面提到的,它位于最右侧
问题在于2个uitableview
的大小因方向不同而不同
我就是这样初始化它们的:
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];
如您所见,我在每一个屏幕上设置了自动重设大小写任务
。发生了什么事
bookTable的纵向宽度是300px,但当我转到横向时,宽度变成400px
autoresizingMask
是否对此负责?如果是这样的话,我该如何补救呢?我也有类似的问题。您可能需要发布更多代码,但应使用“UITableViewDataSource”方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
通过这种方式,您可以将文本字段添加到“单元格”子视图,然后设置自动调整大小
[cell.contentView addSubview:textField];
[cell setAutoresizesSubviews:YES];