iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 6
0
自我挑戰組

白鬍子老頭30天 Swift Ios系列 第 6

Day6 lecture 4 Views -1

View

Views代表一個長方形的區塊,定義一個座標空間讓你可以在裡面畫畫,處理觸碰事件

View 的階層

一個View只會有一個super view,但他可以有很多subView

最上層的view在你的Controller裡

var view : UIView

View的init

有兩種init
1.init(frame : CGframe) //如果你的View是由程式碼創造
frame 指的是你創造的view會在superview的哪裡
2.init(coder : NSCoder) //如果你的View是由你抓進Storyboard的

這邊我不太懂第二個
這邊說兩個都一起用,因為你會希望你的view可以由程式創造,或是用拉的
http://ithelp.ithome.com.tw/upload/images/20161221/20103833y2WPjgh0z4.png

補充一下 frames bounds

替代方案

另一種替代方案是你可以把你的一些初始化工作放進 awakeFromNib

座標系統

CGFloat

任何有關UIView的,會使用這個取代double或float

//你可以轉換float 或 double 到 CGFloat 使用 initializers
let cgf = CGFloat(adouble)

CGPoint

一個結構包含兩個 CGFloat

var point CGFloat(x:5,y:10)
point.x-=20

CGSize

跟CGPoint依樣包含兩個 CGFloat

CGRect

裡面有一個CGPoint跟CGSize
一個是原點
一個是大小
http://ithelp.ithome.com.tw/upload/images/20161221/20103833daxQj33mr7.png

原點左上是0如下圖
http://ithelp.ithome.com.tw/upload/images/20161221/20103833yNdggqzkPN.png

//-------------------------------------------------------------------------
覺得邊看邊寫幫助記憶
明天再來搞DRAW


上一篇
Day5 lecture 3 Swift and Foundation Framework -2
下一篇
Day7 lecture 4 Views -2
系列文
白鬍子老頭30天 Swift Ios30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言