Viewをボタンで切り替える


二つのViewを追加して、ワンボタンで切り替える方法を作る際に落ち着いたコード

例えばナビバーやツールバーにボタンを置いてそれでViewを切り替えたい。

_webView = [[UIWebView alloc] init];
_webView.frame=self.view.bounds;
[self.view addSubview:_webView];
_textView = [[UITextView alloc] init];
_textView.frame = self.view.bounds;
_textView.backgroundColor=[UIColor yellowColor];
//結果をわかりやすくするために背景の色を変えてます。
[self.view addSubview:_textView];

こんな感じで追加したViewがあるとして

ワンボタンで切り替えるには最前面にあるビューが取得したい。

これはsubviewsプロパティで参照できる。
subviewsは配列が取れる。試してみたところ追加した順に並ぶっぽい。

なので切り替えるボタンにこんなメソッドを加える。

[self.view bringSubviewToFront:[[self.view subviews] objectAtIndex:0]];

こんな感じで書くと二つのViewのうち後ろになってるものを最前面に持ってくる。

単純に最前面を取得したいなら
[self.view subviews]で取れる配列の最後尾を取得すればOK。

他にもタグを使う方法もあるらしいが二枚しかViewがないのでこれでOK。

参考リンク

UIView – 福井高専IT研究会OfficialWiki

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です