UI基础_UIView

本文介绍了如何将一个控制器的视图嵌入到另一个控制器中显示,并提供了代码示例。同时,文中还讨论了IBOutletCollection属性的使用注意事项及如何判断视图是否可见的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

add控制器的view

一个控制器的view添加到另一个控制器上显示,需要把该控制器作为另一个控制器的子控制器,不然生命周期会受到影响,特别是针对有collectionView的。

[self addChildViewController:VC]; 
[selff.view addSubview:VC.view];
IBOutletCollection属性
   通常情况下,我们使用一个IBOutletCollection属性时,属性必须是strong的,且类型是NSArray,如下所示:                                   
@property (strong, nonatomic) IBOutletCollection(UIScrollView) NSArray *scrollViews;
  • 注意点:
    1、IBOutletCollection集合中对象的顺序是不确定的。我们通过调试方法可以看到集合中对象的顺序跟我们连接的顺序是一样的。但是这个顺序可能会因为不同版本的Xcode而有所不同。所以我们不应该试图在代码中去假定这种顺序。
    2、不管IBOutletCollection(ClassName)中的控件是什么,属性的类型始终是NSArray。实际上,我们可以声明是任何类型,如NSSet,NSMutableArray,甚至可以是UIColor,但不管我们在此设置的是什么类,IBOutletCollection属性总是指向一个NSArray数组。
判断View是否可视

self.view.window.isKeyWindow

可用的通知:
    UIWindowDidBecomeVisibleNotification

  UIWindowDidBecomeHiddenNotification

  UIWindowDidBecomeKeyNotification

  UIWindowDidResignKeyNotification
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值