0

私はスタンドアロンで、2つの左UIBarButtonItemを持つビューコントローラーを持っていますが、それを押すと、これら2つのボタンと戻るボタンが必要です

私は試した

- (void)viewDidLoad
{
    [super viewDidLoad];

    // back
    if (self.navigationController.navigationItem.backBarButtonItem) {

        self.navigationItem.leftBarButtonItems = [NSArray arrayWithObjects:self.navigationController.navigationItem.backBarButtonItem, self.barButtonFilter, self.barButtonFilterContacts, nil];

    } else {

        self.navigationItem.leftBarButtonItems = [NSArray arrayWithObjects:self.barButtonFilter, self.barButtonFilterContacts, nil];

    }
}

戻るボタンがある場合は追加、そうでない場合は置換

しかし、私は働きませんでした

4

3 に答える 3

0

AppleのiOSヒューマンインターフェイスガイドラインから:

より多くのコントロールセットを提供する必要がある場合、またはナビゲーションを有効にする必要がない場合は、ナビゲーションバーの代わりにツールバーを使用してください。

十分なスペースがあるように見える場合でも、追加のコントロールでナビゲーションバーを混雑させないでください。ナビゲーションバーには、ビューの現在のタイトル、戻るボタン、およびビューのコンテンツを管理する1つのコントロールのみを含める必要があります。代わりに、ナビゲーションバーでセグメント化されたコントロールを使用する場合、バーにはタイトルが表示されず、セグメント化されたコントロール以外のコントロールが含まれていてはなりません。

http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/UIElementGuidelines/UIElementGuidelines.html

于 2012-05-11T20:53:25.443 に答える
0

したがって、ここでの問題は、UINavigationBar1 つの leftButtonItem と 1 つの rightButtonItem しか持てないことです。しかし、UINavigationBarあなたができることは、UIViewを持つことができる中心にあります。これを使用してボタンを配置できます。

誰かがここにコードを持っています:adding-buttons-to-the-titleview-of-navigationbar-without-having-to-repeat-code

于 2012-05-11T16:21:18.997 に答える
0

私はあなたの問題を理解できませんが、キャプションによると、戻るボタンをバーボタンアイテムに置き換えたいと考えていますUINavigationController。その場合、戻るボタンの代わりにカスタムボタンが必要です:

UIBarButtonItem *backButton= [[UIBarButtonItem alloc] initWithTitle:@"yourTitle" style:UIBarButtonItemStylePlain target:self action:@selector(someFunction:)];             
self.navigationItem.rightBarButtonItem = backButton;   
[backButtonrelease]; 

これがあなたの問題でない場合は、詳しく説明してください。

于 2012-05-11T09:48:13.367 に答える