首页 > 其他分享 >iOS UIView如何管理它的子视图

iOS UIView如何管理它的子视图

时间:2023-05-23 13:32:30浏览次数:44  
标签:调用 void iOS 接收者 视图 添加 重写 UIView


didMoveToWindow 
通知接收者它一斤给添加到窗口中 
- (void)didMoveToWindow 
讨论 
默认实现不做任何事情;子类可以重写这个方法来做特殊的实现 

窗口的属性有可能是nil当这个方法调用的时候,这表明接收者并不属于当然任何一个窗口。这个只发生在接收者从它的父视图上移除或者接收者添加到父视图中而不是添加到window中。重写这个方法可以用来选择忽略一些他们不关心的对象 


  •  - 在所有的nib中的对象初始化和连接后将发送此消息; 只适用于从nib加载对象; 如要重写,其中还必须调用父类的


  •  - 在一个视图(或者它的超视图)将要被添加到window的时候发送;


  •  - 当视图获得它的window属性集的时候发送此消息.
  1. //当加入视图完成后调用
  2. (void)didAddSubview:(UIView *)subview  
  3. //当视图移动完成后调用
  4. (void)didMoveToSuperview  
  5. //当视图移动到新的WINDOW后调用
  6. (void)didMoveToWindow  
  7. //在删除视图之后调用
  8. (void)willRemoveSubview:(UIView *)subview  
  9. //当移动视图之前调用
  10. (void)didMoveToSuperview:(UIView *)subview  
  11. //当视图移动到WINDOW之前调用
  12. (void)didMoveToWindow 

didAddSubview:


告诉视图当子视图已经添加


- (

void )didAddSubview:(UIView *)subview


参数


subview


被添加做子视图的视图对象



讨论



被子类重写用来执行额外的命令当子视图添加到接收者。这个方法被 addSubview 调用



didMoveToSuperview


通知接收者父视图已经改变( nil 是允许的)


- (

void )didMoveToSuperview


讨论



默认不做任何事情;子类可以重写这方法来作为特定的实现



didMoveToWindow


通知接收者它一斤给添加到窗口中


- (

void )didMoveToWindow


讨论



默认实现不做任何事情;子类可以重写这个方法来做特殊的实现



窗口的属性有可能是 nil 当这个方法调用的时候,这表明接收者并不属于当然任何一个窗口。这个只发生在接收者从它的父视图上移除或者接收者添加到父视图中而不是添加到 window 中。重写这个方法可以用来选择忽略一些他们不关心的对象


标签:调用,void,iOS,接收者,视图,添加,重写,UIView
From: https://blog.51cto.com/u_16124099/6330970

相关文章

  • iOS8 Self Sizing UITableView Cells iOS8Tableview Cells 自适应高度
    UITableViewUITableViewTheoldwayUITableView inheritsfrom UIScrollView).Iftherowswere allequalthiswas justasimpleoperation.Butiftheywere different,ithad toknow theheightsofalltherowsandsumthem.Itaskedusfortheheightofeve......
  • UIView的层次结构--code
    [selflogViewTreeForMainWindow];//Recursivelytraveldowntheviewtree,increasingtheindentationlevelforchildren-(void)dumpView:(UIView*)aViewatIndent:(int)indentinto:(NSMutableString*)outstring{for(inti=0;i<indent;i++)[o......
  • iOS MachineLearning 系列(17)—— 几个常用的对象识别 CoreML 模型
    iOSMachineLearning系列(17)——几个常用的对象识别CoreML模型上一篇文章中,我们介绍了几个官方的图片分类的模型,图片分类模型的应用场景在于将图片中最主要的事物进行识别,在已有的词库中找到最可能得事物。而对象识别则要更高级一些。再之前的文章,我们介绍过可以使用官方提供的......
  • drf——反序列化校验源码(了解)、断言、drf之请求和响应、视图之两个视图基类
    1.模块与包#模块与包 模块:一个py文件被别的py文件导入使用,这个py文件称之为模块,运行的这个py文件称之为脚本文件包:一个文件夹下有__init__.py#模块与包的导入问题'''1.导入模块有相对导入和绝对导入,绝对导入的路径是从环境变量开始的2.导入任何模块,如果......
  • 5个视图扩展类,9个视图子类,视图集,drf之路由
    5个视图扩展类:1from.modelsimportBook2from.serializerimportBookSerialzier3fromrest_framework.responseimportResponse4fromrest_framework.genericsimportGenericAPIView56fromrest_framework.mixinsimportListModelMixin,CreateModelMixi......
  • ios --- 调用系统"设置"里的功能
    //一键打开移动蜂窝网络设置:NSURL*url=[NSURLURLWithString:@"prefs:root=MOBILE_DATA_SETTINGS_ID"]; 蜂窝网络:prefs:root=MOBILE_DATA_SETTINGS_IDhttp://my.oschina.net/u/2344008/blog/465693安装后第一次运行软件时,系统会弹出提示用户是否允许软件获取当前位置,如果用户不允......
  • 2个视图基类,5个视图扩展类,9个视图子类,视图集,自动生成路由
    考p.name改变的是p对象自己的属性所以p.name='彭于晏'p1.name=lqz15个视图扩展类#写5个类(不叫视图类,视图扩展类,需要配合GenericAPIView一起用),每个类有一个方法,以后想写哪个接口,就继承哪个类即可from.modelsimportBookfrom.serializerimportBookSerialzierf......
  • iOS 缩放等级 Set the Zoom Level of an MKMapView
    SettheZoomLevelofanMKMapViewhttp://troybrant.net/blog/2010/01/set-the-zoom-level-of-an-mkmapview/IfyouhaveeverbuiltawebapplicationusingtheGoogleMapsAPI,youarelikelyintimatelyfamiliarwiththislineofcode:map.set......
  • iOS GCD 和信号量 实现 生产者和消费者模式
    GCD提供两种方式支持dispatch队列同步,即dispatch组和信号量。一、dispatch组(dispatchgroup)1.创建dispatch组dispatch_group_tgroup=dispatch_group_create();2.启动dispatch队列中的block关联到group中dispatch_group_async(group,queue,^{//。。。});3.......
  • iOS initWithFrame:frame] 与 [UIButton buttonWithType] 对比
    What'sthedifferencebetweenthefollowingtwocodesnippets?1.UIButton*button=[UIButtonbuttonWithType:UIButtonTypeCustom];button.frame=frame;2.UIButton*button=[[[UIButtonalloc]initWithFrame:frame]autorelease];-buttonWithType:UI......