2011-07-22 82 views
0

我有一個UITextField在UITableView單元內。當我旋轉設備時,文本框的寬度仍然與縱向模式相同。我知道我需要使用自動調整來使場填充單元格,但我不知道如何做到這一點,因爲我嘗試過並失敗了。UITextField UITableViewCell中的自動調整大小

我該怎麼做?

cell.textLabel.text = @"Email"; 
UITextField *field2 = [[UITextField alloc] initWithFrame:CGRectMake(110, 10, width, 30)]; 
field2.adjustsFontSizeToFitWidth = YES; 
field2.textColor = [UIColor blackColor]; 
field2.keyboardType = UIKeyboardTypeEmailAddress; 
field2.returnKeyType = UIReturnKeyNext; 
field2.placeholder = @"Required"; 
field2.tag = 3; 
field2.delegate = self; 
field2.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
field2.backgroundColor = [UIColor blueColor]; 
// Finish building cell 
field2.autocorrectionType = UITextAutocorrectionTypeNo; 
field2.autocapitalizationType = UITextAutocapitalizationTypeNone; 
field2.textAlignment = UITextAlignmentLeft; 
[field2 addTarget:self action:@selector(updateFields:) forControlEvents:UIControlEventEditingChanged]; 
field2.text = email; 
self.emailField = field2; 
[cell addSubview:field2]; 
[field2 release]; 
+0

我發現它有用設置背景顏色爲粉紅色(或同樣可怕顏色)時測試/調試佈局。我只是這樣做,並試驗這些值,看看它們是如何影響它的。您可能需要按位或將幾個值組合在一起。 - - - 如果是我,id會在Xcode/InterfaceBuilder中構建它。在代碼中編寫界面佈局/設計是不受歡迎的(我從90年代早期的X-Windows開始就避免使用它)。 – bshirley

+0

我確實將我的bg顏色設置爲藍色進行測試。 –

回答

2
  1. 檢查一下您的tableView具有自動調整subivew設置爲YES。
  2. 檢查所有支持的旋轉是否返回YES。
    • (無效)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation持續時間: (NSTimeInterval)持續時間{ }
+0

謝謝,需要爲我的tableview添加autoresizeubviews爲YES。 :) –