关于UIActivityIndicatorView的frame

1.首先用构造方法直接创建

UIActivityIndicatorView *indicatorView = [[UIActivityIndicatorView alloc]init];

此时frame打印结果{{0, 0}, {0, 0}},并且其属性hidden = YES
直接添加到视图上,调用方法[indicatorView startAnimating];
此时打印frame={{120, 15}, {20, 20}}
也就是,在开启动画的时候打印indicatorView.activityIndicatorViewStyle
因为是枚举值,打印结果是1,也就是UIActivityIndicatorViewStyleWhite

若是在创建之后,指定indicatorView.activityIndicatorViewStyle,此时打印frame,其值仍为{{0, 0}, {0, 0}},只有在开启动画是才能打印出非0值

2.使用initWithActivityIndicatorStyle方法创建,

UIActivityIndicatorView *indicatorView = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

此时打印frame
UIActivityIndicatorViewStyleWhiteLarge, {{0, 0}, {37, 37}}
UIActivityIndicatorViewStyleWhite, {{0, 0}, {20, 20}}
UIActivityIndicatorViewStyleGray {{0, 0}, {20, 20}}

综上使用init创建时frame = {{0, 0}, {0, 0}},指定indicatorView.activityIndicatorViewStyle,亦然
使用initWithActivityIndicatorStyle创建,frame根据activityIndicatorViewStyle确定,且不能更改frame

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,152评论 5 13
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,586评论 6 30
  • 1.自定义控件 a.继承某个控件 b.重写initWithFrame方法可以设置一些它的属性 c.在layouts...
    圍繞的城阅读 3,501评论 2 4
  • { 11、核心动画 需要签协议,但是系统帮签好 一、CABasicAnimation 1、创建基础动画对象 CAB...
    CYC666阅读 1,591评论 2 4
  • 背景: 一个在北京城里生活的小女孩儿,名叫任幸,上小学,有专门的私教老师教钢琴、舞蹈,她的父亲是中国最优秀的建筑设...
    陈小星520阅读 386评论 0 1