IOS-笔记5 (swift和OC,View大小和位置)

这篇笔记探讨了Swift与Objective-C之间的类型转换,重点介绍了Property List的概念及其在数据传递中的作用。还详细讲解了NSUserDefaults的使用,以及在iOS中View的坐标系统、绘图方法和图像处理。在View部分,提到了使用CGFloat、UIBezierPath绘图,以及如何处理图像和响应设备旋转时的界面调整。

Objective-c和swift:

NSString----->Stirng         NSArray------->Array<AnyObject>      NSDictionary------>Dictionary<NSObject, AnyObject>     Int Float Doulbe Bool------>NSNumber

这些可以用as强制互相转换,比如你将swift中的Array转换成了OC中的NSArray,你就可以调用NSArray中的方法了。


Property List,是一个类型已知的AnyObject类型的数据集合,比如一个NSDictionary,它的键是NSString,值是NSDate组成的NSArray数组。可用在隐式的传递数据,因为在传递的过程中谁也不知道这个AnyObject是什么类型,就像cookie。还可以用作繁星,因为AnyObject可以是任意类型。


NSUserDefaults 是一个微型数据库,只能存储Property List,用来存储设置,参数等信息,它性能并不好所以不能用来存放图片等大型数据~,它的结构就像字典,用键值来标注储存的List,在你的App退出后它还是会保存这些数据


View

使用CGFloat类型来表示控件和触摸在屏幕中的坐标。当你使用Double或Float时,需要用CGFloat()方法转化CGPoint,CGSize分别代表位置和大小。CGRect由前两个组成,CGRect有很多有趣的方法。


在view里绘图和在canvas里绘图很像,使用UIBezierPath对象获得画笔,但在设置颜色的时候使用UIColor.GreenColor().setFill()或setStroke()。

可以绘制透明色,使用.colorWithAlphaComponent()方法,不过需要先把opaqe属性设置为false。可以通过设置hidden属性来完全隐藏View


使用UIFontTextStyle.Headline/Body/Footnote等来设置字体,这是IOS的推荐字体,使用这样的字体有助于优化体验。


创建图像,将图像放在images.xcassets文件夹中,比如说ght.jpg。那么创建UIImage对象时使用:let image: UIImage? = UIImage(named: "ght")即可,注意返回的是一个Optional。还可以自己创建图像貌似,不过还需要探究。画的时候直接image点上方法就可以画了。


当用户旋转设备时会造成bounds的变化,原有的界面会被默认的拉伸,这当然不是我们想要的。这时使用UIViewContentMode对象可以做到一些重绘之类的修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值