viewの表示順をコードで変更する方法

アプリ開発をしていてボタンやviewを追加していると
画面に表示する順番を最背面から最前面に変更したくなるときがあります。

Xcode上では上下の順番を変えるだけで
前面、背面を簡単に変えられますがプログラム実行中では
プログラムで変更する必要があります。

viewの表示順を変更するコードは
bringSubviewToFront、sendSubviewToBackになります。


[self.view bringSubviewToFront:最前面に移動したいView];
[self.view sendSubviewToBack:最背面に移動したいView];

ただ、これだと重なっているviewが3つ以上あって
一番したのviewを最前面ではなく1つだけ前面に移動したいときは
工夫が必要になります。

表示順を変える方法として、下のようなものも見つけましたが
使い方がよくわからないです。


//引数で指定した表示順にあるオブジェクト同士の順序を交換
[self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:2];

コメントは受け付けていません。

このページの先頭へ