2012-03-27 10 views
3

私はUITabBarControllerをカスタマイズする方法を検討しています。このカスタマイズは、各バー項目のカスタム画像と「上げた」中央ボタン項目で構成されています。タブバーを非表示にしてUITabBarControllerをカスタマイズします。悪いアイデア ?

アップルはUITabBarControllerのサブクラス化をお勧めしていないことを知っています。これを処理するいくつかの例は、デフォルトの動作を模倣したスクラッチから新しいコンポーネントを作成することでわかりました。

しかし、コンポーネントを「スキン」したいだけなので、デフォルトで提供される機能を削除する価値はないと思っています。

私の考えでは、タブバーを非表示にし、タブバーの上にいくつかのカスタムボタンを配置します。これは、押したときにtabbarcontroller.selectedIndex=<new_value>と呼ばれます。

これは悪い考えですか?

私はこれにはマイナス面はありませんが、これを行う簡単な方法が他にあるかどうか尋ねたいと思っていました。

答えて

2

世界で最悪のアイデアではありません。私はユーザーインターフェイスの問題についてRAの意見を取り上げますが、iOS 5からはAppleがタブの外観や感じを変えるのが楽しいということは明らかです - したがって、新しいUIAppearanceクラスとメソッドを使用すると、背景などをタブバーやタブバーの項目に表示します。

これはすべてiOS 5で非常に上手くいいですが、iOS 4で見栄えの良いタブバーを見たい場合は、別の方法を考え出す必要があります。タブバーコントローラー全体をゼロからコード化するか、既存のタブバーコントローラーを変更することができます。現在のタブバーの上にビューを追加することは、世界で最悪の考えではありません。 ではありませんが、確かに1つのアプローチです。

もちろん、iOS 5をターゲットに設定できるのであれば、タブバーに用意されているUIAppearanceの方法を調べることができます。

+0

はい、iOS 5にはほとんどのコントロールを再スキンするオプションがありますが、今のところiOS 4をターゲットにしています。 – adig

0

私は本当に悪い考えです。 Iphoneユーザーはそれを見て自分自身を理解しなければならないので、それはTabBarItemまたはUIbuttonです。その目的のためだけに、Appleは開発者にcustomizeを許可していません。ユーザーがUIButtonをタップした場合、次のビューで何らかのアクションを実行すると予想されますが、TabBarアイテムをクリックすると、ユーザーは同じビューで実行するアクションを期待します。だから違いがある。あなたが理解したいと思っています。

+0

私はあなたにそれを躊躇していた理由を知っています。 – adig

1

あなたはUITabBarControllerをサブクラス化していません。アップルの規約である&に違反しているわけではありませんが、独自のボタンを作成して元のタブバーの位置に追加してカスタマイズしたタブバーの感覚を与えているので、UITabBarControllerをサブクラス化せずにカスタムタブバーを作成する最良の方法だと思います

関連する問題