2012-03-24 8 views
1

Ich möchte UItextField in UITableViewCell platzieren, aber ich habe ein Problem. Textfeld wird nicht angezeigt. Das ist mein Code:UITextField in UITableViewCell

-(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; 
} 

Ich Test und InitWithStyle-Methode heißt. Kann jemand mir helfen?

+1

Hav Sie eine NSLog-Anweisung in der initWithStyle Methode Einfügen versucht es, um sicherzustellen, wird immer genannt? Setzen Sie den Wert der Text-Eigenschaft Ihres textFields in cellForRowAtIndexPath? – jonkroll

+0

Ja, ich habe es mit NSLog versucht. Siehe meine editierte Post. –

+1

Können Sie die Eigenschaftsdeklaration für 'self.textField' anzeigen? – borrrden

Antwort

2

Wenn Sie .xib Datei für TextFieldCell dann per Drag & Drop Textview und legen Sie alle Eigenschaften bilden Interface Builder sonst Sie nur * .xib erstellen kann als TableViewCell zu verwenden, indem *

In .h Datei

IBOutlet UITableViewCell * CUSTOM_CELL_XIB;

In .m-Datei in cellForRowAtIndexPath Methode

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

und direkt per Drag & TextField- oder was auch immer Sie wollen UI fallen, ich denke, es effizient für individuelle Zelle Schöpfung ist.

arbeiten Diese perfekt

Verwandte Themen