打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
bringSubviewToFront 和 sendSubviewToBack


将一个UIView显示在最前面只需要调用其父视图的 bringSubviewToFront()方法。

将一个UIView层推送到背后只需要调用其父视图的 sendSubviewToBack()方法。

用第二层子视图 换 第一层子视图的位置  self.view是第0层

[self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:2];






========================
控件的层级关系和你加入到父视图的顺序有关,也就是先addsubview至父视图的,层级越低,会被后加入的遮盖。 可以通过以下函数改变子视图的层级 - (void)bringSubviewToFront:(UIView *)view;将一个UIView显示在最前面 - (void)sendSubviewToBack...





========================


用一段簡單的代碼來達到你要的效果,

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    
    UITouch *t = [touches anyObject];
    
    if (t.view == ViewA) {
        [self.view bringSubviewToFront:ViewA];
    } else if (t.view == ViewB) {
        [self.view bringSubviewToFront:ViewB];
    }
}

用圖層的概念去想 bringSubviewToFront 和 sendSubviewToBack 的話就很簡單, 因為 addsubview 是把 view(圖層)
一個一個堆疊上去的, 所以後上去的 view 會壓住前面的 view, 這時候, 如果調用 bringSubviewToFront, 就可以把這個 view
拉到最上層, 不會被擋住, 反之, sendSubviewToBack 則是可以把 view 放到最下面去, 開 interfacebuild 來看, 
也可以很容易了解這個概念.





本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
UI 常用方法总结之-----UIWindow UIView
UIView的UITouch事件
UI 常用方法总结之UIScrollView
两个View翻转显示
通过UIKit坐标系来全面掌握iOS中的UIScrollView组件
iOS界面
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服