1

Three20 には、UIButton を含むカスタム セルがあります。UIButton が次のようにタップされたときに、「タップ」メソッドを起動しています。

UIButton* cevapla=[UIButton buttonWithType:UIButtonTypeCustom];
[cevapla addTarget:self 
            action:@selector(tap:)
      forControlEvents:UIControlEventTouchUpInside];

-(void)tap:(id)sender {

        TTURLAction* action=[TTURLAction actionWithURLPath::@"tt://secondviewcontroller/"
                             ];
        [action applyAnimated:YES];
        [[TTNavigator navigator] openURLAction:action];
}

ここまでは大丈夫です。SecondViewController にはアニメーションがロードされます。ただし、SecondViewController では、ユーザーが別のリンクをクリックすると、別のビュー コントローラーが開きます。「戻る」ボタンはありません。2 番目のビュー コントローラーのリンクが「http://」で始まる場合、「戻るボタンなし」で内部 Web ブラウザーが開き、別の場所に移動することはできず、ユーザーはアプリを再度開く必要があります。

このタップ方法の何が問題になっていますか?

注:代わり[[TTNavigator navigator] openURLAction:action];に試してみ[[TTNavigator navigatorForView:self.superview] openURLAction:action];ましたが、変化はありません。

4

1 に答える 1

0

解決しました。私の SecondViewController の title プロパティは @"" (空の文字列) に設定されていました。このプロパティが設定されていない場合、ナビゲーション コントローラーは [戻る] ボタンに書き込むテキストを見つけられないため、単純に表示されません。期待できますが、奇妙です。title プロパティが nil の場合、デフォルトのバック テキストが表示されますが、空の文字列の場合、ボタンは表示されません。実際、タイトルを空の文字列に設定する人はいません。デバッグ目的で空に設定しました。

于 2011-07-28T19:00:42.380 に答える