1

ビューの下部にある UIToolbar があります。ユーザーが iPad を使用している場合は、ナビゲーション コントローラーの右側にツールバーを追加します。スペースがあるためです。

このコードを追加しました:

- (void)viewDidLoad{
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
            UIBarButtonItem *toolBarItem = [[UIBarButtonItem alloc]initWithCustomView:toolBar];
            self.navigationItem.rightBarButtonItem = toolBarItem;
        }
[super viewDidLoad];
    }

しかし、アプリケーションは次のエラーでクラッシュします。

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Auto Layout still required after executing -layoutSubviews. UINavigationBar's implementation of -layoutSubviews needs to call super.'

以前にこの方法が使用されているのを見たことがあるので、なぜこれが問題なのかわかりません。ところで、ツールバーの項目は、ボタンの NSArray を使用するのではなく、インターフェイス ビルダーに追加されますが、違いはありますか?

ありがとう!

4

1 に答える 1

0

UIBarButtonItemは、ツールバー内にあるコントロールの1つです。あなたはあなたがしていることを確信していますか?あなたの言っていることがわかりませんが、UIBarButtonItem内にツールバーを追加しようとしているようです。逆のはずです。UIbarButtonItemはUIToolbar内にあります。

于 2012-06-28T17:34:53.563 に答える