0

テーブルビューをビューにアニメーション化しようとしていますが、UITableViewのデータを表示できません(以下のNAConversationViewControllerはUITableViewControllerのサブクラスです)。

Post *post = [self.fetchedResultsController objectAtIndexPath:indexPath];

UIView *takeover = [[UIView alloc] initWithFrame:self.view.frame];
takeover.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.75];

NAConversationViewController *vc = [[NAConversationViewController alloc] initWithNibName:@"NAConversationViewController" bundle:nil];
vc.managedObjectContext = self.managedObjectContext;
vc.post = post;
vc.view.frame = CGRectMake(0, self.view.frame.size.height, 320, 320);

[takeover addSubview:vc.view];
[self.view addSubview:takeover];

[UIView animateWithDuration:0.2
                 animations: ^{

                     vc.view.frame = CGRectMake(0, 100, 320, 320);
                 }
                 completion:^(BOOL finished) {
                     if (finished) {
                         [vc.view setNeedsDisplay];
                     }
                 }];

表示するテーブルデータを取得する唯一の方法は、[vc.viewsetNeedsDisplay]です。しかし、テーブルビューをスクロールするとすぐに、テーブルのセルがすぐに消えます。

UITableViewを誤って呼び出していますか?

4

1 に答える 1

1

ARCを使用している場合は、NAConversationViewControllerインスタンスが解放されている可能性があり、それもビューです...ビューコントローラーの割り当てが解除されないように、インスタンス変数を作成してみてください。

于 2013-03-04T19:11:53.307 に答える