控件的層級關系和你加入到父視圖的順序有關,也就是先addsubview至父視圖的,層級越低,會被后加入的遮蓋。 可以通過以下函數改變子視圖的層級:
1.Objective-C版本: 將UIView顯示在最前面: - (void)bringSubviewToFront:(UIView *)view;
將UIView顯示在下面: - (void)sendSubviewToBack:(UIView *)view;
2.Swift版本: 將UIView顯示在最前面: open func bringSubview(toFront view: UIView)
將UIView顯示在下面: open func sendSubview(toBack view: UIView)
下面我們來舉個實例: 1.Objective-C的情況:
UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(100, 150, 100, 100)]; view1.backgroundColor = [UIColor redColor]; [self.view addSubview:view1]; UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(150, 200, 100, 100)]; view2.backgroundColor = [UIColor greenColor]; [self.view addSubview:view2]; // 以上顯示:紅色視圖(view1)先添加,在下面,綠色視圖(view2)后添加,在上面如圖: 修改成如下代碼:
 修改成如下代碼:
 2.Swift的情況
 2.Swift的情況
它的效果這里不再說,效果和Objective-C的一樣,讀者也可以自己試一下。
新聞熱點
疑難解答