IOS 筆記11(StoryBoard自動布局)

2021-07-04 18:08:37 字數 1150 閱讀 4886

autolayout

經驗比較重要,如果你設定完不是你想要的樣子試試到各控制項的標尺選項卡裡刪掉那些奇奇怪怪的數字,還有hugging和compression resistance來設定那些控制項優先被拉伸或壓縮

如果你需要在**裡新增對控制項的約束是可以的,首先你需要定義這樣乙個變數:

var aspect: nslayoutconstraint?

這是約束的變數型別,所有控制項的約束都可以由這個變數來完成。

接下來使用這個函式來設定約束:

aspect = nslayoutconstraint(

item: constrainedview,//目標view

attribute: .width,//目標屬性

relatedby: .equal,//目標屬性與參考值的關係

toitem: constrainedview,//參考view

attribute: .height,//參考屬性

multiplier: newimage.aspectratio,//乘的倍數

constant: 0)//加的常量

最後將約束加到根view上:

view.addconstraint(newconstraint)

也可以移除:

view.removeconstraint(existingconstraint)

size class

對於不同的裝置,有regular size和compact size,在storyboard的底部有選項,針對不同的size可以做不同的布局。

在特定的size下布局時,最好先清除你需要改動的部件之前的約束。之後做的所有約束只和現在選擇的size class有關, 在特定的size class下布局同樣可以新增只在這個size下才有的控制項。在這個控制項的attributes inspector的最底部有相應的選項。這個選項同樣可以用於對所有約束的操作。

在布局時,如果你想要把元素和整個view的左右的間距都取消,將leading和trailing都設定為0之後,還要將這兩個約束裡的first item和second item裡的relative to margin都取消才行。

IOS學習筆記11 IOS通知中心

ios中還有一類產生事件的功能,那就是通知。通過通知,可以在一定的條件下觸發響應的事件。類似於android中的廣播機制 broadcase receiver 接收到通知 廣播 後,便可執行指定的方法。通過nsnotificationcenter獲取通知物件,註冊並使用通知。下面 以乙個例子為例 n...

iOS 11開發教程(四)iOS11模擬器介紹一

在圖1.6或者1.7中所看到的類似於手機的模型就是ios模擬器。ios模擬器是在沒有iphone或ipad裝置時,對程式進行檢測的裝置。ios模擬器可以模 實的iphone或ipad等裝置的一些功能。本小節將講解一些有關模擬器的操作。1.模擬器與真機的區別 ios模擬器可以模 實的iphone或ip...

學習筆記1 1

1.virtual修飾符會被 繼承的。private 也被整合,只事派生類沒有訪問許可權而已。virtual可加可不加。子類的空間裡有父類的所有變數 static除外 同乙個函式只存在乙個實體 inline除外 子類覆蓋它的函式不加virtual 也能實現多型。在子類的空間裡,有父類的私有變數。私有...