1

TOに移行しているView Controllerのテーブルビューの最初のセルにフレームが必要なモーダルカスタムトランジションを作成しようとしています。animateTransition:transitionContext次のコードの後に​​ブレークポイントを配置すると:

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
UITableViewCell *cell = [toViewController.tableView cellForRowAtIndexPath:indexPath];

ページ上の他のすべてのコントロールとともに、テーブルビューが nil であることがわかります。

よく検索した結果、VC をプッシュするときに次のコードを使用することを提案する同様の質問を見つけることができました。

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.02 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    [self presentViewController:detailViewController animated:YES completion:nil];
});

しかし、それは機能しません。テーブルビューと他のすべてのページ要素はゼロですanimateTransition:transitionContext

ビューのライフサイクルのこの時点では、テーブルビューはまだ計算されていないため、nil になっていることは理解していますが、カスタム トランジションでテーブルビュー セルを参照する方法はありませんか?

4

1 に答える 1