作者s001582000 (仁傑)
看板MacDev
標題[問題] Autolayout的關係敘述
時間Thu Aug 20 10:42:45 2015
是這樣的
小弟目前在學習autolayout
我有四個view
每個view的關係式距離10 如果我把第二個view刪掉
第三個view之後會因為找不到關係連結而跑到畫面(0,0)的位置
又或者是第三個view會跟第一個view距離20
我要怎麼繼續讓第三個view跟第一個view距離10
示意圖
http://imgur.com/DX8uo7F
小弟目前做法是再重新敘述第三個view跟第一個view的關係式
但這樣下去不就寫到死了嗎~~~~~~
請版上各位先進幫小弟解惑Q_Q
********************************************************
是這樣的
http://youtu.be/z5VeuixzN_U
在以前的寫法
只要將rect.origin.x++跟y++即可
那如果以autolayout要達到這樣的效果
會很複雜嗎????
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.150.97
※ 文章網址: https://webptt.com/m.aspx?n=bbs/MacDev/M.1440038570.A.DD6.html
1F:推 Blueshiva: 你這幾個view是動態增加減少的嗎? 08/20 10:51
是的 再按下remove之後 第二個view被刪除 之後的view要補上去 類似android的
線性layout
2F:→ darktt: 這個就算時手動layout也是要重算view3的位置資訊的 08/20 11:43
3F:推 Blueshiva: 我的意思是,這些view的個數是不定的,還是固定就只有 08/20 12:23
4F:→ Blueshiva: 四個,然後有可能會移掉第二個這樣? 08/20 12:24
是不固定的
5F:推 Blueshiva: 如果所有都不固定的話,那就每次移除新增就全部重設吧 08/20 13:28
謝謝大大 看來用手刻autolayout的都是神人了
6F:→ howdiun: 不要把他想得太難,其實就是一個reloadView而已 08/20 15:00
7F:推 tentenlee: 這東西幹嘛用autolayout.. 我會用TABLEview就是了 08/20 16:36
8F:推 yeah200077: 第三個view新增priority較低的constraint對上第一個vi 08/21 00:25
9F:→ yeah200077: ew 08/21 00:25
10F:→ yeah200077: View太多就建議用手寫 08/21 00:26
感謝大大建議
11F:推 howdiun: 把左邊跟上面2個constraint設為property 08/21 10:39
12F:→ howdiun: 要變動的時候移除這2個property對應到上一個 08/21 10:39
13F:→ howdiun: romove n 之後再 reload n 08/21 10:41
14F:→ howdiun: 刪掉第1個,原本第3個跑到第2個,只要再設定2與1關係即可 08/21 10:44
15F:→ howdiun: 2 08/21 10:44
16F:推 Blueshiva: 問題是原po的view個數不定,也不一定是移掉2,這樣的話 08/21 11:48
17F:→ Blueshiva: 理論上應該是會有個array存所有的view,所以才說,要移 08/21 11:48
18F:→ Blueshiva: 掉Nth,就在array中移掉Nth的object,然後剩下的重新跑 08/21 11:49
19F:→ Blueshiva: 一次constraint的設定就好,這樣反而最方便 08/21 11:50
啊啊啊啊啊啊 搞不清楚啊~~~
※ 編輯: s001582000 (125.227.150.97), 08/21/2015 17:17:52
20F:推 mraaa: 簡單的說,把constrain設Priority,這樣View2刪了,就會去 08/22 03:01
21F:→ mraaa: 找第二順位的Constrain 08/22 03:01
22F:→ howdiun: remove n之後只要reload n,因為除了n以外的constraint 08/24 12:24
23F:→ howdiun: 都不會變 08/24 12:24
24F:→ howdiun: reload n的意思是重新設定n與n-1的constraint 08/24 12:25
25F:→ howdiun: 若n=0則設定n與superview的關係 08/24 12:26