2012-10-23 47 views
0

我有兩個UITableView和兩個並排顯示。在視圖的最右側還有一個UITextViewUITableView具有不一致的寬度

因此,寬度爲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

我有類似的問題。您可能需要發佈更多的代碼,但你應該使用「UITableViewDataSource」的方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

這樣的細胞子視圖,然後設置自動尺寸您可以添加文本框。

[cell.contentView addSubview:textField];    
[cell setAutoresizesSubviews:YES]; 
相關問題