iOS專案開發實戰——UIView的層級關係

乞力馬紮羅的雪CYF發表於2015-09-25

      iOS專案開發中,View其實是有層級關係的,這種層級關係可以理解為等級。簡單的描述就是:後加入的View等級較高,會把先加入的View蓋住。如果父檢視等級較低,那麼它的子檢視等級也較低。具體程式碼實現如下:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];
  
  //view1的層級最低;
  UIView *view1 = [[UIView alloc] init];
  view1.frame = CGRectMake(50, 50, 200, 200);
  view1.backgroundColor = [UIColor yellowColor];
  [self.view addSubview:view1];

  
  //view2的層級第三;
  //先加入的View會被後來加入的View蓋住;
 //座標是根據父檢視的位置來設定的,不會跨層;
  UIView *view2 = [[UIView alloc] init];
  view2.frame = CGRectMake(20, 20, 100, 100);
  view2.backgroundColor = [UIColor redColor];
  [view1 addSubview:view2];
  
  //view3的層級最高;
  UIView *view3 = [[UIView alloc] init];
  view3.frame = CGRectMake(20, 80, 100, 100);
  view3.backgroundColor = [UIColor whiteColor];
  [view1 addSubview:view3];
  

  //view22的層級第二;子檢視的層級比父檢視高;
  //雖然view22是後面加入的,但是本身父檢視view2的層級比view3的層級低,所以子檢視view22的層級也比view3的層級低,會被view3壓在下面;
  UIView *view22 = [[UIView alloc] init];
  view22.frame = CGRectMake(20, 50, 100, 100);
  view22.backgroundColor = [UIColor purpleColor];
  [view2 addSubview:view22];
  
  
  
}



@end

效果如下:


github主頁:https://github.com/chenyufeng1991  。歡迎大家訪問!

相關文章