0

スプリットビューの詳細側にテーブルビューを作成する必要があります。テーブルビューをプログラムで作成する方法を学び、MyTableView というクラスで作成しました。私の問題は、実際にテーブルビューを作成したい時点でエラーが発生することです。以下に示す DetailViewController のコードが呼び出されていますが、テーブルビュー (nextView と呼ばれる) は取り込まれていません。ばかげた間違いを見つけた場合、または役立つチュートリアルをお勧めできる場合はお知らせください。

- (void)setDetailItem:(id)newDetailItem {
    if (detailItem != newDetailItem) {
        [detailItem release];
    detailItem = [newDetailItem retain];
    // Update the view
NSLog(detailItem);
NSString * imageName = [NSString stringWithFormat:@"%@.png",detailItem];
    [self.imageView1 setImage:[UIImage imageNamed:imageName]];  
    [self configureView];
}

if (self.popoverController != nil) {
    [self.popoverController dismissPopoverAnimated:YES];
}        
}


- (void)configureView {
NSLog(@"creating tableview");
if(nextView == nil)
    nextView = [[MyTableView alloc] init];  
self.view = nextView;
}

エラーの読み取り: キャッチされていない例外 'NSInvalidArgumentException' によるアプリの終了、理由: '-[MyTableView setFrame:]: 認識されないセレクターがインスタンス 0x4b32e40 に送信されました'

分割ビューの答えはまだ見つかりませんが、スクロール ビュー内の 2 つのテーブルは正常に機能しています。きっかけとなったブログはこちら。 http://www.iphonedevsdk.com/forum/iphone-sdk-development/2423-multiple-table-views-single-screen-nothing-showing-up.html

4

1 に答える 1

0

クラスMyTableViewは実際にはテーブルビューコントローラーです。この場合、Table View Controller にはプロパティ フレームがありません。次に、次のようなものにする必要があります

[[MyTableView view] setFrame: newFrame];

And: の名前をMyTableViewに変更する必要がありMyTableViewControllerます。

于 2011-08-14T08:24:59.450 に答える