[問題] 請問UI介面的相關問題
各位高手好,想請教關於UI介面的問題
假設我有一個viewA在StroyBoard設好相關的AutoLayout之後
正常來說viewA的frame會隨著不同設備的螢幕大小變化
而我這個viewA上還會有個viewB
在上述的動作下我有兩個疑問想請教
1.
假設要新增的viewB並不是動態內容,可以直接在StoryBoard上拉出相關介面
而viewB必須在viewA的正中央,且viewB的大小最大不能超過320*240,縮小也必須等比例
也就是說,
如果設備螢幕太小,例如使用者使用iPhone4,
那麼viewB必須要依據320*240等比例縮小,縮小到不超出viewA為止
如果設備螢幕太大,例如使用者使用iPad
那麼viewB最大就只能到320*240
小弟只知道等比例可以使用aspect ratio constraint達到效果
但不曉得能不能設置view的大小限制,還請各位高手指教
本來是想說不然用程式碼的方式來設定viewB的大小跟位置,
但這樣卻出現第二個問題
2.
小弟將viewA及viewB利用IBOutlet的方式設置在viewController裡面
但在viewController的viewDidLoad函式中,viewA的frame總是錯誤的
造成我沒辦法在viewDidLoad中決定viewB的大小,
必須在viewDidAppear中viewA的frame才是真正的大小
但viewDidAppear會在viewController每次出現的時候都會被呼叫,
這樣viewB的排版會不斷的被執行
如果利用if來判斷排版過了沒,個人又覺得蠢蠢的
想請問是否有更好的方法可以達到同樣的效果
感謝各位
題外話@@
想請問一下各位高手用程式碼排版介面的時候
都是怎麼排的,小弟用程式碼排版的時候都是直接指定相關的x, y座標
而width, height則是依據superView的大小來算
如果要排三個橫向的label,小弟大致上會這樣做
var x=0
var y=0
for var index = 0 ; index != 3 ; index++{
label[index].frame(x, y, width, height)
x += width
view.addSubview( label[index] )
}
不知道這樣的做法是不是不太好@@
謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.174.119.198
※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1441535683.A.4F6.html
推
09/07 02:55, , 1F
09/07 02:55, 1F
推
09/07 09:28, , 2F
09/07 09:28, 2F
→
09/12 23:38, , 3F
09/12 23:38, 3F
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章