質問

UITabBarControllerから_tabBarインスタンスにアクセスしようとしています。特定の状況でtabBarを非表示にしようとしています。このため、UITabBarControllerに拡張機能を追加し、_tabBarインスタンスにアクセスして、setHiddenメッセージを呼び出します。これはシミュレータ用にコンパイルするときに機能しますが、デバイス用にコンパイルすると次のエラーが表示されます

" _OBJC_IVAR _ $ _ UITabBarController._tabBar&quot ;、参照元:       _OBJC_IVAR _ $ _ UITabBarController._tabBar $ non_lazy_ptr in UITabBarController + TabBar.o

コンパイラフラグに何を追加する必要がありますか?シミュレータ用にコンパイルするときに機能するのはなぜですか。

事前に感謝します。

役に立ちましたか?

解決 2

iPhone OS 3.0以降でアクセス可能

他のヒント

UITabBarControllerのドキュメントによると:

  

操作しようとしないでください   UITabBarオブジェクト自体が格納されている   このプロパティ。あなたがしようとする場合   そのため、タブバービューは   例外。アイテムを構成するには   あなたのタブバーインターフェイス、あなたがする必要があります   代わりに1つ以上のカスタムビューを割り当てます   viewControllersへのコントローラー   プロパティ。タブバーは   ビューから必要なタブバー項目   指定したコントローラ。

     

これにより提供されるタブバービュー   プロパティは、   アクションシートを表示したい   showFromTabBar:メソッドの使用   UIActionSheetクラス。

UITAbBarControllerをNavigation Controllerスタックにプッシュする場合、hidesBottomBarWhenPushedプロパティをYESに設定できます。これは機能します。

UITAbBarControllerのスーパークラスには、これを行う別のAPIもあります。そうでない場合は、サブビュー階層を調べて、必要な階層を非表示にすることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top