2012-03-24 17 views
1

UITableViewCellにUItextFieldを配置したいが問題がある。テキストフィールドは表示されません。これは私のコードです:UITableViewCellのUITextField

-(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString   *)reuseIdentifier { 
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 
    if (self) { 
     self.textField = [[UITextField alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 120.0f, 45.0f)]; 
     self.textField.textColor = [UIColor blackColor]; 

     [self.contentView addSubview:self.textField]; 
    } 

    return self; 
} 


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    TextFieldCell *cell = (TextFieldCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[TextFieldCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
    } 
    switch (indexPath.row) { 
     case 1: 
      cell.textField.placeholder = @"Username"; 
      break; 
     case 2: 
      cell.textField.placeholder = @"Password"; 
      break; 
     case 3: 
      cell.textField.placeholder = @"Server Address"; 
      break; 
     case 4: 
      cell.textField.placeholder = @"Description"; 
      break;    
     default: 
      break; 
    } 

    return cell; 
} 

私はテストし、initWithStyleメソッドが呼び出されます。

+1

に動作しますか?あなたのtextFieldのtextプロパティの値をcellForRowAtIndexPathに設定していますか? – jonkroll

+0

はいNSLogを試しました。私のedtited投稿を参照してください。 –

+1

'self.textField'のプロパティ宣言を表示できますか? – borrrden

答えて

2

あなたはため.xibファイルがある場合TextFieldCellはその後、ドラッグアンドドロップのTextViewをし、すべてのプロパティを設定するには、他 あなたは *

によってTableViewCellとして使用するためにのみ* .XIB を作成することができますインターフェイスビルダーを形成します

.hファイル内

IBOutlet UITableViewCell * CUSTOM_CELL_XIB;

cellForRowAtIndexPathメソッド内の.mファイルで

static NSString *CellIdentifier = @"Cell"; 


UITableViewCell *cell = (UITableViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

if (cell == nil) 
{ 
    [[NSBundle mainBundle] loadNibNamed:@"CUSTOM_CELL_XIB" owner:self options:nil]; 
    cell = CUSTOM_CELL_XIB; 
} 

と直接ドラッグして、TextFieldを落としたり、あなたが好きなUI、私はそれがカスタムセルを作成するための効率的な方法だと思います。

これは完全にあなたはそれが呼ばなっていることを確認するために、initWithStyle方法でのNSLog文を挿入しようとしたHAV