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];