誰かがこれを行う方法のサンプルコードを手伝ってもらえますか:私はUITableViewを持っていて、すでにすべてを設定しています。1つのセルをクリックすると、画像が表示されます。すでに持っている画像は8つあります。したがって、それぞれ異なる名前の8つのセルがあるので、どうすればよいですか?たとえば、セル名、「apple」、「orange」、「banana」など、それぞれに1枚の画像が必要ですが、もちろん注文、私はバナナとバナナなどを意味します。私は非常に単純なことを知っていますが、これの例は見つかりませんでした。私はまったく新しいです、ありがとう、XD ...
2 に答える
必要なのは、テキストの説明と画像で構築された2つのNSArrayです(これは、1つと2つのキーと値のペアで実行することもできNSArray
ますNSDictionary
)。その場合、各辞書には2つのキーと値のペアがあります(1つはテキスト用、もう1つは画像用)。
ただし、簡単にするために、2つのNSArrayを使用します。
だからこのようなもの:でviewDidLoad
:
textArray = [[NSArray alloc] initWithObjects:@"Banana",
@"Orange",
@"Apple",
@"Grape",
@"Pineapple",
@"Apricot",
@"Pear",
@"Kiwi", nil];
imagesArray = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"Banana.png"],
[UIImage imageNamed:@"Orange.png"],
[UIImage imageNamed:@"Apple.png"],
[UIImage imageNamed:@"Grape.png"],
[UIImage imageNamed:@"Pineapple.png"],
[UIImage imageNamed:@"Apricot.png"],
[UIImage imageNamed:@"Pear.png"],
[UIImage imageNamed:@"Kiwi.png"],
nil];
*これは、プロジェクトに上記の名前のpng画像があることを前提としています。
次に、UITableView
データソースメソッドとデリゲートメソッドの場合:
#pragma mark - UITableView Methods
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return count of our text array
return [textArray count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"tvCell"];
cell.textLabel.text = [textArray objectAtIndex:indexPath.row];
cell.imageView.image = [imagesArray objectAtIndex:indexPath.row];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Do whatever you need to here
}
完全なプロジェクトはここからダウンロードできます(24時間そのままにしておきます)
もちろん、これを行うにはいくつかの方法があります。コードをまったく含まない最も簡単な方法の1つは、Xcodeでシナリオビルダーを使用することです。
1-シナリオを使用しているアプリケーションにUITableViewControllerを追加します2-このコントローラーでテーブルビューを選択し、プロパティで「静的リスト」に設定します(このプロパティの正確な名前は覚えていません-編集します見つからない場合に追加する私の答え)3-リスト内のアイテムの数と各セルを編集して、必要なラベルを付けます4-シーンにUIControllerを追加し、内部に画像を追加します5-各テーブルをリンクしますセグエを使用して一致するコントローラーにセルを移動します(ctrl-クリックしてドラッグするか、option-クリックします)6-[ビルドして実行]をクリックします。
それだけです-1行のコードではありません!
追伸:私は今iPhoneを使用していますが、必要に応じて完全な例を投稿できます。これは、実際には、迅速なプロトタイプにとってはかなりクールなトリックです。