iOS-界面开发

 

1. 控件为什么用weak修饰:控件已经被UIView强指针指向,如果用strong, 则viewController也将强指针指向控件, 在view销毁时可能无法销毁该控件。

2. command + shift + h : 模拟器回到主界面

 command + shift + h(h连按两下) : 打开历史app

 control + 

3. touch up inside : 点击

4. 继承于UIControl的控件才能连线方法

5. storyboard中只有UIView可以有子控件(孙子控件不是子控件)

6. 控制器的view的父控件是UIWindow, 在viewDidAppear中可以看到,viewDidLoad看不到

7. frame: 以父控件的左上角为坐标原点

 bounds: 以自己左上角为坐标原点(iOS9以后中心点不变,向四周延伸)

 label.frame.origin.x += 10 (错误

8. UILabel 的lineNumber设置为0,是自动换行

9. shadow

10. [Image imageNamed:]: png不需要后缀

11. imageView.clipsToBounds = YES, 裁掉多余

12. 毛玻璃效果:把UIToolBar设置为imageView的子控件

13.image.size.width

14. 设置动画:

  imageView.animationImages=arr;

  imageView.animationRepeatation = 0;

  imageView.animationDuration = 0.5

15. 打断点, po NSHomeDirectory()

16. 加载Assets.xcassets里面的图片:

  打包后变成Assets.car, 拿不到路径,只能通过imageNamed:来加载图片,不能通过imageWithContentsOfFile加载图片

  加载放到项目中的图片:

  可以拿到路径,可以通过imageNamed:加载图片,也可以通过imageWithContentsOfFile加载图片

17. performSelector withObject afterDelay

18. imageNamed: 就算指向它的指针被销毁,该资源也不会再内存中干掉, 放到Assets.xcassets的图片默认有缓存,图片经常使用用这种方式

  imageWithContentsOfFile: 指向它的指针被销毁,该资源会被干掉,没有缓存,不经常使用或大批量的图片时使用此种方式

19. [NSBundle mainBundle] pathFor

 [NSBundle mainBundle] urlFor

20. AVPlayer

  play

  pause

  replaceCurrentItemWithPlayerItem:

  rate

21. 数据懒加载, 重写Array的get方法,全局可用,且只加载一次

22. plist : 属性列表文件

23. 在init方法中加入子控件,在layoutSubviews中设置子控件的frame, 在数据模型的set方法中设置数据

24. 创建对象用init或initWithFrame,最终都会调用initWithFrame, 所以自定义控件时,重写initWithFrame方法就行了

25. 从xib加载会调用initWithCoder方法,不会调用Init或initWithFrame

26. 在xib基础上再用代码添加子控件,要写在awakeFromNib方法

27. xib提供一个类方法创建:[ShopView shopview]

28. NSStringFromClass

29. 设置让某控件看不见:

  alpha = 0 或 hidden =  YES

 

posted @ 2020-04-19 09:45  Emyin  阅读(345)  评论(0编辑  收藏  举报