1. 程式人生 > >Masonry學習之佈局邊距

Masonry學習之佈局邊距

iOS8以後,UIView多了一個新的屬性:

@property (nonatomic) UIEdgeInsets layoutMargins NS_AVAILABLE_IOS(8_0);

本例就是對該屬性的使用。
效果圖:
這裡寫圖片描述
程式碼:

- (instancetype)init {
    self = [super init];
    if (!self) return nil;

    UIView *lastView = self;
    for (int i = 0; i < 10; i++) {
        UIView *view = UIView.new
; view.backgroundColor = [self randomColor]; view.layer.borderColor = UIColor.blackColor.CGColor; view.layer.borderWidth = 2; view.layoutMargins = UIEdgeInsetsMake(5, 10, 15, 20); [self addSubview:view]; [view mas_makeConstraints:^(MASConstraintMaker *make) { make.top
.equalTo(lastView.topMargin); make.bottom.equalTo(lastView.bottomMargin); make.left.equalTo(lastView.leftMargin); make.right.equalTo(lastView.rightMargin); }]; lastView = view; } return self; } - (UIColor *)randomColor { CGFloat hue = ( arc4random() % 256
/ 256.0 ); // 0.0 to 1.0 CGFloat saturation = ( arc4random() % 128 / 256.0 ) + 0.5; // 0.5 to 1.0, away from white CGFloat brightness = ( arc4random() % 128 / 256.0 ) + 0.5; // 0.5 to 1.0, away from black return [UIColor colorWithHue:hue saturation:saturation brightness:brightness alpha:1]; }

個人理解:layoutMargins屬性就是用於佈局的檢視之間的一個參照資料。該屬性與Masonry結合,簡化了自動佈局的程式碼和語義。

相關推薦

Masonry學習佈局

iOS8以後,UIView多了一個新的屬性: @property (nonatomic) UIEdgeInsets layoutMargins NS_AVAILABLE_IOS(8_0); 本例

Latex設定

geometry 巨集包可以方便地調整頁邊距。 \usepackage{geometry} 整體調整 \geometry{a4paper,scale=0.8} 設定了紙張為a4,並且版心佔頁面長度的比例為80%;scale也可以改為ratio,表示版面邊距

css margin負列布局(列表、聖杯、雙飛翼)

door ont oct class containe resp 固定寬度 單元 自適應 技術服務於應用,技術來源於應用。 應用1:當接到設計師給的設計圖時(如下圖),發現每列左右和上下文保持一致,頓時整個心情就不好了。因為要兼顧響應式,即沒辦法保證每個列表單元的具體位置,

Framework7學習筆記

pen 滑動 遮蓋 body style nbsp 筆記 con reveal 一:舊版 1:定義側邊欄並指定側邊欄滑出效果 側邊欄有兩個:左側、右側。 側邊欄在body標簽間定義。 <body> <!-- 1:添加側

Qt佈局管理(3):內容、間距和QSpacerItem類

Qt佈局管理(3):內容邊距(ContentsMargins)、間距(spacing)和QSpacerItem類 若對C++語法不熟悉可參閱《C++語法詳解》一書,電子工業出版社出版 內容邊距就是頁邊距,指的是佈局中的各子部件(內容)與周圍四個邊的距離,內容邊距比較簡單,下面列出需要使用

Qt學習如何用程式碼實現UI佈局及顯示

本文以Qtableview為例進行說明。 Qtableview是一個表格類,可以使用這個類來設定表格,進行內容的顯示、增刪、查詢等等。 首先:正常建立一個Qt Widget Application專案。 mainwindow.h public: explicit MainWi

css佈局2固定寬度,中間自適應

左右兩列分別左浮動和右浮動並給一個固定寬度,中間不浮動,也不設定寬度。 <div class="left">1</div> <div class="right">2</div> <div class="center">3<

ionic入門色彩、圖示和和介面元件:列表

色彩 ionic定義了九種前景/背景/邊框的色彩樣式,: 可以在任何元素上使用這些樣式設定前景和背景顏色: <any class="positive-bg energized"> ... </any> 圖示 ionic使用io

JVM學習物件記憶體佈局,物件頭

本篇內容來自《深入理解Java虛擬機器_JVM高階特性與最佳實踐》,感謝作者。 建立物件之後需要使用物件,java中除了對物件屬性方法的呼叫以外還有加鎖實現同步等其他操作,這裡的鎖加在了哪裡,如何記錄鎖,如何對鎖進行分類(有物件鎖,class鎖),垃圾回收機制中有關於GC的

Android學習RecyclerView學習(實現瀑布流式佈局

RecyclerView,大家可以通過匯入support-v7對其進行使用。  如果使用AndroidStudio開發, 需要在build.gradle中新增: compile 'com.android.support:appcompat-v7:24.2.1' com

安卓學習二--佈局

1.線性佈局       <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/andro

註解學習初始化佈局及控制元件2

/** * @author anqiansong *初始化佈局 */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface InitContentView { public int

HTML設定padding和margin

在CSS中margin是指從自身邊框到另一個容器邊框之間的距離,就是容器外距離。在CSS中padding是指自身邊框到自身內部另一個容器邊框之間的距離,就是容器內距離。       下面講解 padding和margi

css負詳解(子絕父相)

來源 | http://segmentfault.com 原文 |  The Definitive Guide to Using Negative Margins   自從1998年CSS2作為推薦以來,表格的使用漸漸退去,成為歷史。正因為此,從那以後CSS佈局成為了優雅程

Qt的UI佈局以及控制元件間隔(Spacing)(Margins)

替一個Widget設定佈局有兩種方法。 1layout 建構函式傳遞QWidget QVBoxLayout* MainQVboxLayout=new QVBoxLayout(MainWidget); 2layout建構函式傳遞NULL,呼叫QWidget的setlayou

《高效學習CSS佈局道:通過244個範例掌握網頁樣式與佈局技術》陳剛.掃描版.pdf

書籍簡介:一共分為5篇,基本涵蓋了CSS和使用CSS佈局頁面的核心知識,從CSS的入門基礎知識講起,再到XHTML基礎知識、CSS的語法和各個屬性的使用方法、CSS佈局的各種技巧,全書最後使用一個現今最具代表性的部落格例項,完整地講解了CSS頁面佈局的具體步驟和注意事項。CS

Qt---佈局,設定控制元件,拉伸因子

控制元件所佔空間 QGridLayout *LeftLayout =new QGridLayout(this); LeftLayout->addWidget(label1, 0, 0);

QT的學習路 1佈局控制元件(Layout)

一.佈局控件(Layout) 垂直佈局( vertically ),相關類: QVBoxLayout水平佈局( horizontally )相關類: QHBoxLayout網格佈局( grid)  

javaFx 學習--元件篇1(邊框與佈局管理1)

       編寫了前面幾小程式,大家對javaFx程式以有初步認識,下面我們一起來學習javaFx的元件, 這些元件包括,1.邊框與佈局管理;2.選單;3.標籤;4.面板組,簡單標籤,文字框,5.按鈕;6.列表框;7.分割面板;8.單選按鈕,單選按鈕組,觸發按鈕,按鈕組;9

js學習——網頁側欄廣告效果

側邊欄廣告就是指我們在瀏覽網站的時候在網頁的右邊中間部分顯示的那個div,無論我們是拖動滾動條,還是放大縮小視窗,廣告始終顯示在右邊的中間。這裡主要是提供兩種方法的實現。 方法一: 就是使用純粹的佈局來實現,比較簡單,即是使用 position:fixed;