2012-01-20 7 views
0

私のアプリケーションでは、カスタムUITableViewCellUITableViewControllerを提示します。各セルは、.xibファイルで作成されています。私は、各セルが異なる要素を表示するので、この方法をとることに決めました。要素はUILabelUITextFieldおよびUIImageViewです。各セルには製品に関する情報が表示されます。カスタムUITableViewCellのさまざまなコンテンツを管理するための提案

Iカスタムセルを提示するために使用するコードは、以下である:self.customTableViewCellOutletポリシーを保持割り当てと.xibファイル細胞への出口である

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tv dequeueReusableCellWithIdentifier:kCellTableIdentifier]; 
    if (cell == nil) 
    { 
     [[NSBundle mainBundle] loadNibNamed:@"CustomTableViewCell" owner:self options:nil];  
     cell = self.customTableViewCellOutlet; 

     cell.selectionStyle = UITableViewCellSelectionStyleNone; 
     cell.backgroundView = [[[BackgroundCell alloc] init] autorelease]; 
     cell.selectedBackgroundView = [[[BackgroundCell alloc] init] autorelease]; 
    } 

    // configure the cell with data 
    [self configureCell:cell atIndexPath:indexPath];  

    return cell; 
} 

コードは非常にうまく機能します。

今私は、次の2つのspecifictions実装する必要があります。まず、ユーザーがUITextFieldでタップしたときに、その要素が編集可能になります)

1。ユーザーが変更した値を超えてタップすると、UITextFieldは編集できなくなります。

この最初の仕様では、次のメカニズムについて考えました。私の.xibファイルのファイルの所有者はUITableViewControllerです。これを行うと、UITableViewControllerUITextFieldDelegateを実装し、UITextFieldイベントをリスンすることができます。私には明らかではない唯一の側面は、ユーザがUITextFieldの外をタップするときにどのように聞くかです。

2)ユーザが行をタップすると、セルの内容が変更されます特に、各セルは内容を変更する必要があります。製品を表示する(良い)から、その製品の詳細な説明を表示するまで。言い換えれば、ユーザーがセルをタップすると、ビュー(raws情報を表示するもの)から別のビューにスウィッチが必要になります。

ここではどのように進めるのか分かりません。

私にいくつかの提案を教えてください。あらかじめありがとうございます。

答えて

0

UITableViewControllerまたはUITableViewCellでtextField Delegateを実装することは、要件によって異なります。 あなたは書いたテキストを配列にしたいですか?あなたはtextFieldのタグとしてインデックスを設定できます。次に、デリゲートのテキストを取得し、配列に追加してからテーブルをリロードします。 もう1つのことは、テキストフィールド外にタップすると、行を返すセルにタップジェスチャを追加することができます。

関連する問題