0

私の詳細 VC では、この UISplitViewController デリゲート メソッドを実装しています。

- (void)splitViewController:(UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController:(UIPopoverController*)pc

ボタンのタイトルを設定するのは簡単ですが、結果はプレーンテキストのボタンだけで、戻る矢印はありません。マスター ポップオーバー ボタンにもバック シェブロンがあるメール アプリのようなものを探しています。

これどうやってするの?

4

3 に答える 3

2

シェブロン イメージを使用してカスタム バー ボタン項目を作成し、必要に応じて設定し、バー ボタン項目のターゲットとアクションをデリゲート コールバックによって渡されたものに設定します。このようにして、バー ボタンは、システムから渡されたものと同じアクションを実行します。AppStore で承認された API を使用してバック バー ボタンを作成する方法がないため、画像を使用して独自のバー ボタンを作成する必要があります。

iOS7 では、プライベート サブクラスはUINavigationItemView+_UINavigationBarBackIndicatorViewです。1つはボタン、もう1つはシェブロンです。_UINavigationBarBackIndicatorViewのサブクラスですUIImageView。したがって、それはあなたが達成するものにかなり近いです。

于 2013-11-14T22:14:45.297 に答える
1

iOS 8 では、UISplitViewController に次のメソッドがあります。

- (UIBarButtonItem *)displayModeButtonItem

返されたバー ボタン項目をナビゲーション バー (UINavigationBar) の左ボタンとして設定すると、シェブロンが表示されます。

一方、返されたバー ボタン アイテムをツールバー (UIToolbar) に配置すると、シェブロンは表示されません。

シェブロンの [戻る] ボタンを表示したいが、(iPad のメール アプリのように) 独自のバー ボタン項目もいくつか表示する必要がある場所では、UINavigationBar と UIToolbar を使用する必要があります。これは見苦しい解決策ですが、独自のバー ボタン項目のいくつかと一緒に戻るボタンのシェブロンを取得するには、UIToolbar の上に UINavigationBar を部分的にオーバーレイする必要があります。

于 2014-10-29T16:01:05.590 に答える