-1

私の問題:

私は 2 つのビューを使用しています。最初のビューは aTableViewで、もう 1 つのビューは ですpagecurlViewController。必要なのは 20 行でtableview、各行をクリックすると に画像をロードする必要がありますpagecurlViewController。問題に直面している配列に 50 個の画像があります。行 1 をクリックすると、50 枚すべての画像が表示されます。行 2、行 3、行 4....行 20 をクリックすると、50 枚の画像のみが表示されます。しかし、私が必要とするのは、1 つの特定の行で 3 つの画像を選択することです。これを行うコードはありますか?

4

3 に答える 3

0

テーブルビューで画像を選択したいだけだと思います。

セレクションテーブルビューです。

選択

そしてこれが詳細図です。

詳細

最初にプロパティを作成しましarrayImgた。

- (id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self) {
        self.arrayImg = [NSArray arrayWithObjects:
                         [UIImage imageNamed:@"image0.jpg"],
                         [UIImage imageNamed:@"image1.jpg"],
                         [UIImage imageNamed:@"image2.jpg"], nil];
    }
    return self;
}

次に、セル選択コードを書きました。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *s = [NSString stringWithFormat:@"image%d.jpg", indexPath.row];
    [self performSegueWithIdentifier:@"showImage" sender:s];
}

最後に、prepareForSegueメソッドを作成しました。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    DetailViewController *d = segue.destinationViewController;
    d.strImgName = sender;
}

詳細ビューでは、以下に書きました。

- (void)viewWillAppear:(BOOL)animated
{
    self.imageView.image = [UIImage imageNamed:strImgName];
}

プロジェクト全体はこちら: https://github.com/weed/p120801_ImageSelectorWithTableView

サンプルプロジェクトをダウンロードして実行するだけです。

私のトライアルがあなたのお役に立てば幸いです。

于 2012-08-01T13:38:15.797 に答える
0

テーブルに 20 行のセクションが 1 つしかなく、すべての画像が your_ImageArray にあると仮定しています。次に、以下のようなものを試すことができます。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

int i = indexPath.row * 3;

 if(i < your_ImageArray.count - 3){
  for(int j = 0; j < 3; j++){

   NSLog(@"your image  = %@",[your_ImageArray objectAtIndex:i]);
   i++;

  }
}

}

ただし、上記のコードは、必要に応じて、範囲外の配列の例外を発生させる可能性があります。行と配列の数が一致しません

于 2012-08-01T12:54:57.643 に答える
0

コードをメソッドに実装し、メソッドを定義する必要があり-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPathますimageFunction:YourViewController.m

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

   [self.navigationController pushViewController:yourView animated:YES];
    if(!yourView)
    {
       yourView = [[YourViewController alloc] initWithNibName:@"YourViewController" bundle:nil];
    }
    [yourView imageFunction:[yourArray objectAtIndex:indexPath.row]];
    [self.navigationController pushViewController:yourView animated:YES];

}

お役に立てると思います。

于 2012-08-01T13:10:58.780 に答える