中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

NSLayoutConstraint-代碼實現自動布局的函數用法說明

發布時間:2020-07-17 16:52:57 來源:網絡 閱讀:6076 作者:rainbownight 欄目:移動開發
[NSLayoutConstraint constraintWithItem:(id)item
                             attribute:(NSLayoutAttribute)attribute
                             relatedBy:(NSLayoutRelation)relation
                                toItem:(id)otherItem
                             attribute:(NSLayoutAttribute)otherAttribute
                            multiplier:(CGFloat)multiplier
                              constant:(CGFloat)constant]



參數說明:

第一個參數:指定約束左邊的視圖view1

第二個參數:指定view1的屬性attr1,具體屬性見文末。

第三個參數:指定左右兩邊的視圖的關系relation,具體關系見文末。

第四個參數:指定約束右邊的視圖view2

第五個參數:指定view2的屬性attr2,具體屬性見文末。

第六個參數:指定一個與view2屬性相乘的乘數multiplier

第七個參數:指定一個與view2屬性相加的浮點數constant


這個函數的對照公式為:

view1.attr1 <relation> view2.attr2 * multiplier + constant


注意:

1.如果你想設置的約束里不需要第二個view,要將第四個參數設為nil,第五個參數設為NSLayoutAttributeNotAnAttribute


舉例:

[NSLayoutConstraint constraintWithItem:view1
                             attribute:NSLayoutAttributeLeft
                             relatedBy:NSLayoutRelationEqual
                                toItem:view2
                             attribute:NSLayoutAttributeRight
                            multiplier:1
                              constant:10]


翻譯過來就是:view1的左側,在,view2的右側,再多10個點,的地方。


附視圖的屬性和關系的值:


typedef NS_ENUM(NSInteger, NSLayoutRelation) {
    NSLayoutRelationLessThanOrEqual = -1,          //小于等于
    NSLayoutRelationEqual = 0,                     //等于
    NSLayoutRelationGreaterThanOrEqual = 1,        //大于等于
};
typedef NS_ENUM(NSInteger, NSLayoutAttribute) {
    NSLayoutAttributeLeft = 1,                     //左側
    NSLayoutAttributeRight,                        //右側
    NSLayoutAttributeTop,                          //上方
    NSLayoutAttributeBottom,                       //下方
    NSLayoutAttributeLeading,                      //首部
    NSLayoutAttributeTrailing,                     //尾部
    NSLayoutAttributeWidth,                        //寬度
    NSLayoutAttributeHeight,                       //高度
    NSLayoutAttributeCenterX,                      //X軸中心
    NSLayoutAttributeCenterY,                      //Y軸中心
    NSLayoutAttributeBaseline,                     //文本底標線
                                                                                                                                                   
    NSLayoutAttributeNotAnAttribute = 0            //沒有屬性
};


NSLayoutAttributeLeft/NSLayoutAttributeRightNSLayoutAttributeLeading/NSLayoutAttributeTrailing的區別是left/right永遠是指左右,而leading/trailing在某些從右至左習慣的地區會變成,leading是右邊,trailing是左邊。(大概是⊙﹏⊙b)



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苍梧县| 荣成市| 鄂州市| 稻城县| 文安县| 乐亭县| 民乐县| 资中县| 金川县| 诸城市| 武宁县| 塔城市| 泰和县| 城步| 安溪县| 绥江县| 诸城市| 和硕县| 隆安县| 乌鲁木齐县| 彩票| 富裕县| 婺源县| 五华县| 吴旗县| 堆龙德庆县| 海宁市| 呼伦贝尔市| 顺昌县| 延寿县| 宁海县| 昌黎县| 兰州市| 宜宾市| 翁源县| 全椒县| 海淀区| 文山县| 长兴县| 三原县| 武平县|