2011-02-01 20 views
0

私はUITableViewを持っています。そのセルはNIBファイルでカスタマイズされているため、UILabelとUITextFieldを持つことができます。UITableViewCellサブビュータグプロパティを設定する

そこで私cellForRowAtIndexPathは次のようになります。私はinputLabelとして定義UILabelにいくつかのテキストを割り当て、で、UITextFieldを持っているつもりです与えられたセクション/行に対するので

- (UITableViewCell *)tableView:(UITableView *)tableView 
cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    SectionCustomCell *cell = (SectionCustomCell *)[tableView  
    dequeueReusableCellWithIdentifier: @"Section"]; 

    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"SectionCustomCell"              
          owner:self            
          options:nil]; 

    cell = [nib objectAtIndex:0]; 

    // Set the label value 
    [[cell inputLabel] setText:@"something"]; 

    // Set the textfield tag property 
} 

inputTextFieldと呼ばれますユーザーからテキストを入手してください。

私の計画は私がデリゲートtextFieldDidEndEditingに取得していたフィールドを決定することができますので、UITextFieldののタグプロパティを設定することです。私はこのコードを置けば

は今、私の問題は、:

UITextField *textField = nil; 
for (UIView *oneView in cell.contentView.subviews) 
{ 
    if ([oneView isMemberOfClass:[UITextField class]]) 
     textField = (UITextField *)oneView; 
} 
textField.tag = [indexPath row]; 

をタグプロパティが正しく設定されています。 (私はNSLogのステートメントからこれを知っています)。しかし、私が次のようにすればではなく、が正しく設定されています。 IBで定義されているように、常に1です。

cell.inputTextField.tag = [indexPath row]; 

が、私には、このはず仕事

。私はラベルのテキストを設定するのと同じ原理をやっています。誰かがなぜそれがうまくいかないのか理解できるように助けることができますか?私はiOSのに新たなんだ

はとても穏やか:-)にマイク

答えて

0

は、あなたがテキストフィールドとIBでIBOutletを接続していることを確認してください

感謝を行きます。 そのdoesntの仕事はコードでこれを入れてみてください場合:それはコンソールに1を印刷した場合、それはinputTextFieldはそうどこかにnibファイル、カスタムクラスとテーブルビューのデータソースとの間の接続がnilである意味

NSLog(@"%i", cell.inputTextField == nil); 

迷ってる。しかし、私が最初に言ったように、これはテキストフィールドがIBで正しく接続されていない可能性が高いです。

+0

いつものようにコンセントは正しく接続されていませんでした。ドゥー! – hydev

関連する問題