2

私はiOSの初心者です。もっと時間をかけて検索しようとしましたが、結果は私の望みではありません。最初に、カスタム セルを含む 5 つの行があります。セルにはテキストのみが含まれており、1 つの画像を含むセルの任意のインデックスに 1 つの行を追加したいと考えています。では、どのように実装できますか?

4

3 に答える 3

7

コメントから、あなたが UITableView を初めて使用することがわかりました。したがって、指定されたチュートリアルのいくつかを実行してください。UITableView で編集セルを追加、削除できるようになります

UITableView チュートリアル
チュートリアル 2
テーブル ビュー プログラミング ガイド

簡単に挿入するには、このようにします

ボタンとそのアクションをビューに追加する

 -(IBAction)addNewRow:(UIButton *)sender
 {
  self.numberOfRows++;  // update the data source    
  NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
   [self.tableview insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];

 }

編集

このようなものが必要だと思います

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *cellID1=@"CellOne";
NSString *cellID2=@"CellTwo";

UITableViewCell *cell = nil;

if (0 == indexPath.row) {

    cell =[tableView dequeueReusableCellWithIdentifier:cellID1];
    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID1];
    }
    cell.textLabel.text = @"New Cell";

}

else
{
    cell =[tableView dequeueReusableCellWithIdentifier:cellID2];
    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID2];
    }
    cell.imageView.image = [UIImage imageNamed:@"Test.jpg"];
}

return cell;
}

セル数をインクリメントすることを忘れないでください。つまり、numberOfRows から 6 を返します。

于 2013-04-24T05:02:51.497 に答える
1

ビューコントローラーのどこからでもテーブルに行を挿入できます

[tableView beginUpdates];
[tableView insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation];
[tableView endUpdates];

適切なindexPaths行のアニメーションを提供します。

于 2013-04-24T04:54:00.067 に答える
0

tableView:cellForRowAtIndexPath:メソッドでは、画像を含むセルが必要なインデックス パスを区別してそこに追加します。それ以外の場合は、UITableViewCell のテキストのみを設定します。

于 2013-04-24T04:04:18.493 に答える