0

現在のView ControllerをNavigation Controllerからポップしようとしています。ビュー階層のかなり下に埋もれているサブビューからこれを実行したいと考えています。私の UIView サブクラスには、次のメソッドがあります。

- (void)back
{
    NSLog(@"View should pop now...");
    [[UIApplication sharedApplication] sendAction:@selector(popViewControllerAnimated) 
                                               to:nil 
                                             from:self 
                                         forEvent:nil];
}

しかし、これは機能せず、エラーも発生しません。ここで何が起こっているのですか?ドキュメントによると想定されているように、アクションがレスポンダーチェーンを上に進まないのはなぜですか?

4

2 に答える 2

1

これには通知センターを使用することをお勧めします。次に、ビューの階層は重要ではありません。

または、View Controller をターゲットとしてボタンに追加することもできます。

于 2012-11-28T21:46:02.783 に答える
0

コロンを追加するのを忘れました:

@selector(popViewControllerAnimated:)

それでも、動作は非常にグリッチです。トランジションがアニメーション化される場合とアニメーション化されない場合があり、popViewControllerAnimated の BOOL 引数を送信できません。

于 2012-11-28T21:56:16.840 に答える