【文法】UITabBarControllerを使わないUITabBarのItem(UITabBarItem)のプログラムからの選択(切り替え)


今回は、UITabBarControllerを使わないUITabBarのItem(UITabBarItem)のプログラムからの選択(切り替え)についてです。

以前書いたように本来UITabBarはUITabBarControllerで使って画面遷移を管理するためのものですが、デザイン的な理由でUISegmentedControlと同じように単なる切り替え機能として使っている場合も多いと思います。
そのため、本来用意されているUITabBarControllerでのSelectedItemを使う方法ではプログラムからItemを選択できないようです。。。

いろいろ調べてみて、UITabBarのItem(UITabBarItem)の選択ができるようになったので書いてみます。

まず、.hファイルの@interfaceにIBOutletとしてUITabBarと選択する予定のUITabBarItemを記述します。
(<UITabBarDelegate>も忘れずに)

@interface Untitled : UIViewController <UITabBarDelegate>{
   IBOutlet UITabBar *tbar;
   IBOutlet UITabBarItem *tbarFavoritesItem;
}


Interface Builder(Xcode4ならその中)でUITabBarとUITabBarItemを配置し、それぞれにアウトレットを接続します。



UITabBarItemのtagを設定します。


.mファイル内に選択した場合の処理のメソッドを記述します。
(これについては以前の記事も参考にしてください。)

- (void)tabBar:(UITabBar*)tabBar didSelectItem:(UITabBarItem*)item {
    //選択に応じた処理
    ・・・
}


.mファイル内で選択を行いたいメソッドに以下を記述します。
1行目で単に選択するだけではなぜか選択に応じたメソッドが呼ばれないので、2行目でメソッドを呼ぶ必要があります。

tbar.selectedItem = tbarFavoritesItem;
[self tabBar:tbar didSelectItem:tbarFavoritesItem];   ←忘れずに!


以上のようにすることで、UITabBarItemを選択でき、それに応じた処理ができます。
ちょっとややこしいですが一度覚えれば楽ですね。


ちなみに、てぃーが調べて参考にしたのは次のサイトです。
 →UITabBarControllerなしUITabBarの初期選択項目
何かのツールで英語が自動翻訳されているようですね。最近は便利になりましたね。
きれいには翻訳されてないので理解に時間がかかりましたけど
でも原文はどこにあるのでしょう!?
・・・と思ってアドレスを見てみると最初が「ja」なので試しに「www」にしてみたら
原文が出てきました!
 →Initial selected Item in an UITabBar without a UITabBarController

みなさんも経験されていることでしょうが、iPhoneアプリ開発の有益な情報は英語のサイトも当たらないと得にくいですね。。。
今後も機会があれば英語のサイト(翻訳サイトも)で見つけた情報を書いていきたいと思います。


↓この記事が参考になったら拍手をクリックお願いします。今後のブログ作りに役立てたいので。
関連記事

コメントの投稿

非公開コメント

プロフィール

てぃー

Author:てぃー
詳しい自己紹介:こちら
Twitter:@teapipin


follow us in feedly 
にほんブログ村 IT技術ブログへ にほんブログ村 PC家電ブログへ
現在の閲覧者数:

ブログ内検索
今日のアクセス数の多い記事
カレンダー

07月 | 2017年08月 | 09月
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
過去記事ダイジェスト
お知らせ
ツイッター分析の分析結果が新潟大学教育学部の論文に引用
教育の実証研究の場でも高く評価!

ツイッター分析の分析結果が和歌山大学防災研究教育センターの論文に引用
防災の研究において評価!

2015年版ツイッター分析(世界編)が始動!
今回は世界の国別・言語別ツイートを分析!

ツイッター分析の分析結果が慶應義塾大学有名教授の研究論文などに引用
文系の研究までも制覇!

Interval Timer EX
有名雑誌「Mac Fan 2015月2月号」に「インターバルタイマーEX」が3度目の掲載!ポモドーロテクニックに有効!

自作Macアプリ3部作が2014年 Vector 年間ダウンロードランキング Mac トップ100にすべてランクイン

TimeCalcを公開しています!
時間計算、年齢計算、学歴欄作成など。

ツイッター分析の分析結果が人工知能の研究に!
ブログが学会発表で引用されました。

今まで開発したiPhoneアプリのソースコードを公開しています!
勉強に役立ててください。


2013年 Vector 年間ダウンロードランキング Mac トップ100に「デジカメ変更日を撮影日に一括変更 for Mac」と「インターバルタイマーEX」がランクイン

Interval Timer EX
有名雑誌「Mac Fan 2013月4月号」に「インターバルタイマーEX」が2度目の掲載!!

リアルタイムツイッター地図
リアルタイムツイッター地図を公開しています!
位置情報付きツイートをリアルタイムに表示します。

新たなツイッター分析としてイベントツイート分析を行っています!

2012年8月1日(水)開催の「Twitter勉強会」で発表
ツイッター調査:約173万ツイートを調査して分かったTwitterの利用動向 #twtr_hack from teapipin


Interval Timer EX
有名雑誌「Mac Fan 2012月3月号」に「インターバルタイマーEX」が掲載!!



 

はてなブックマークの人気記事
ツイート&いいね!ランキング