これは私が客観的な-c、ココア、xcode、そして間違いのような理解の限界に逆行していることを知っています。しかしここに私がやろうとしていることがあります:UITableViewカスタムセルはセル内容をリセットします
私はviewcontrollerでtableviewを持っています。テーブルビューのデリゲートはviewcontrollerです。 ViewControllerには、テーブルビューへのコンセントがあります。テーブルは、カスタムセル(IB xib付き)とxmlファイルのデータを使用してまとめられます。カスタムセルには2つのボタンがあります。セルが作成されるとボタンアクションがaddTargetとしてセルフコントロールに追加され、アクションに移動します。 viewcontrollerボタンアクションメソッドは、テーブル内で押されたボタンの行を取得し、セルのテキストとボタンのタイトルを変更します。
もちろん、その特定のセルを表示外にスクロールして表示に戻すと、開始状態にリセットされます。私はこれがセルのデキューなどどんなアイデアと関係していると思いますか?
カスタムセル:
はここでは関係ビットとコードのボタンとtextlabelに店舗を持っています。
細胞は...データソースcellForRowAtIndexPathで
NSIndexPath *thisCellPath = [NSIndexPath indexPathForRow:[sender tag] inSection:0];
dialogue_cell *thisCell = (dialogue_cell *)[self.dialogueTable cellForRowAtIndexPath:thisCellPath];
NSString *row = [NSString stringWithFormat:@"%i",[sender tag]];
if ([thisCell.languageButton.currentTitle isEqualToString:@"en"]) {
[thisCell.languageButton setTitle:@"zc" forState:UIControlStateNormal];
thisCell.mainText.text = [[self.lineArray objectForKey:row] valueForKey:@"lineText_zc"];
} else {
[thisCell.languageButton setTitle:@"en" forState:UIControlStateNormal];
thisCell.mainText.text = [[self.lineArray objectForKey:row] valueForKey:@"lineText_en"];
}
ので、2つの質問 {
static NSString *dialogueCellIdentifier = @"dialogueCellIdentifier";
dialogue_cell *cell = (dialogue_cell *)[tableView dequeueReusableCellWithIdentifier:dialogueCellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"dialogue_cell" owner:self options:nil];
cell = [nib objectAtIndex:0];
[[cell lButton] addTarget:self action:@selector(lButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
}
[[cell lButton] setTag:[indexPath row]];
NSString *row = [NSString stringWithFormat:@"%i",[indexPath row]];
NSString *en = [[self.dataArray objectForKey:row] valueForKey:@"en"];
cell.mainText.text = en;
return cell;
}
とlButton方法コードを作成する:
1.への道がありますオフスクリーンでスクロールされていても、ラベルとボタンの名前にセルが保持されるようにしますか?
2.ボタンが表示されているビューコントローラーにボタンアクションを送信するのではなく、セルカスタムクラス内でラベルとボタン名を設定する方法はありますか?
ありがとうございます!
助けてくれてありがとう - 実際に私は自分のスキームをlostInTransitと同じように作り上げました。問題を解決するという気持ちはまったく味わえない! –