1. 程式人生 > >iOS masonry設定六個等高等寬的view

iOS masonry設定六個等高等寬的view

#import "ThreeViewController.h"
#import "View+MASAdditions.h"
#import "UIView+Masonry_LR.h"
#import "FourViewController.h"
static NSString const*[email protected]"ThreeViewController";
static NSString const*[email protected]"ThreeViewController";
#define WS(weakSelf)  __weak __typeof(&*self)weakSelf = self;

@interface ThreeViewController ()

@end

@implementation ThreeViewController

+ (instancetype)createViewControllerWithStoryboard:(id)createArgs{
    UIStoryboard *storyboard=[UIStoryboard storyboardWithName:(NSString *)kStoryboardName bundle:nil];
    ThreeViewController *vc=[storyboard instantiateViewControllerWithIdentifier:(NSString *)kIdentifier];
    return vc;
}
- (void)viewDidLoad {
    [super viewDidLoad];
    [self setTitle:@"第三個約束"];
    [self initView];
    [self initRight];
}
- (void)initRight{
    UIBarButtonItem *right=[[UIBarButtonItem alloc]initWithTitle:@"第四個約束" style:UIBarButtonItemStylePlain target:self action:@selector(right)];
    self.navigationItem.rightBarButtonItem=right;
}
- (void)right{
    FourViewController *vc=[FourViewController createViewControllerWithStoryboard:nil];
    [self.navigationController pushViewController:vc animated:YES];
}
- (void)initView{
    WS(ws);
    UIView *view=[UIView new];
    view.backgroundColor=[UIColor brownColor];
    [self.view addSubview:view];
    [view mas_makeConstraints:^(MASConstraintMaker *make) {
        make.center.equalTo(ws.view);
        make.size.mas_equalTo(CGSizeMake(300, 300));
    }];
    
    UIView *view1 = [UIView new];
    UIView *view2 = [UIView new];
    UIView *view3 = [UIView new];
    UIView *view4 = [UIView new];
    UIView *view5 = [UIView new];
    UIView *view6 = [UIView new];
    
    view1.backgroundColor = [UIColor redColor];
    view2.backgroundColor = [UIColor blueColor];
    view3.backgroundColor = [UIColor cyanColor];
    view4.backgroundColor = [UIColor yellowColor];
    view5.backgroundColor = [UIColor blackColor];
    view6.backgroundColor = [UIColor lightGrayColor];
    
    [view addSubview:view1];
    [view addSubview:view2];
    [view addSubview:view3];
    [view addSubview:view4];
    [view addSubview:view5];
    [view addSubview:view6];
    
    [view1 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerY.equalTo(@[view2]);
        make.centerX.equalTo(@[view3,view5]);
        make.size.mas_equalTo(CGSizeMake(80, 80));
    }];
    
    
    [view2 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerY.equalTo(@[view1]);
        make.centerX.equalTo(@[view4,view6]);
        make.size.mas_equalTo(CGSizeMake(80, 80));
    }];
    
    
    [view3 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerY.equalTo(@[view4]);
        make.size.mas_equalTo(CGSizeMake(80, 80));
    }];
    
    
    [view4 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerY.equalTo(@[view3]);
        make.size.mas_equalTo(CGSizeMake(80, 80));
    }];
    
    
    [view5 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerY.equalTo(@[view6]);
        make.size.mas_equalTo(CGSizeMake(80, 80));
    }];
    
    [view6 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.size.mas_equalTo(CGSizeMake(80, 80));
    }];
    
    
    [view distributeSpacingHorizontallyWith:@[view1,view2]];
    [view distributeSpacingVerticallyWith:@[view1,view3,view5]];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}


相關推薦

iOS masonry設定高等view

#import "ThreeViewController.h" #import "View+MASAdditions.h" #import "UIView+Masonry_LR.h" #import "FourViewController.h" static NSStri

iOS Masonry控件比例布局

ray uic array oid 圖片 sax cell http lin 一、先解釋相關API 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 /** * distribute with fixed spa

Java經典演算法集——如下:用1、2、2、3、4、5這數字,用java寫一個main函式,打印出所有不同的排列,如:512234、412345,要求:"4"不能在第三位,"3"與"5"不能相連。

轉:http://www.blogjava.net/SongJunke/articles/101741.html 演算法程式題:     該公司筆試題就1個,要求在10分鐘內作完。     題目如下:用1、2、2、3、4、5這六個數字,用java寫一個main函式,打印出所

Autolayout下設定View比例排列

在實際開發過程中,經常會遇到將多個按鈕等比例排列之類的介面,下面的方法是在IB中使用autolayout特性實現這種介面。 1.首先拖進去一個View作為容器,根據實際情況設定好這個view的約束: 2.拖入最左邊的View,並設定其與容器View的上下左右的間距均為

iOS-UIWebview設定超時、載入失敗、重新載入問題解決

iOS開發 UIWebView載入失敗 我想重新載入怎麼做,使用reload不頂用 解決辦法:重新使用 loadRequest: 設定超時 NSURL *url=[NSURL URLWithString:@"http://ww

iOS開發設定UISearchBar的輸入背景框、提示文字

開發中經常需要用到搜尋框,當使用系統搜尋框的時候,可以改變搜尋框的背景圖片、提示文字顏色、取消按鈕字型顏色、放大鏡圖片等,swift程式碼如下: //搜尋框 let searchBar = UISearchBar(frame: CGRect(x

IOS如何給VIEW設定2圓角?set cornerRadius for only top-left and top-right corner of a UIVIEW

-----如果大家有更好的方法請告訴我,謝謝-------- 有些設計中,需要實現top-left和top-right為圓角,而bottom-left and bottom-right依然是平角,這樣就不能使用 _bg.layer.cornerRadius 了。 這裡要用到

QT---設定tablewidget自適應列設定自動

  在網上很容易知道自適應列寬,100%不留空顯示,這裡還是提下: /*設定表格是否充滿,即行末不留空*/ ui->tableWidget->horizontalHeader()-&g

iOS 手勢的使用 手勢 輕拍 長按 拖拽 捏合 輕掃 旋轉

上面的手勢對應的操作是: Tap(點一下) Pinch(二指往內或往外撥動,平時經常用到的縮放) Rotation(旋轉) Swipe(滑動,快速移動) Pan (拖移,慢速移動) LongPress(長按)2、使用手勢的步驟使用手勢很簡單,分為兩步: 建立手勢例

程序設計原則

程序設計 生命 lsp 接口隔離 問題 其中 依賴倒置 存在 itl 單一職責原則,SRP(Single Responsibility Principle)裏氏替換原則,LSP(Liskov Substitution Principle)開放-關閉原則,OCP(Open-C

《領導梯隊》:4星。企業中層級的領導的必知必會和必須不能做的事情。

進行 方案 更多 思路 和平 要花 能力 事情 專註 書不錯,根據許多企業的情況總結出來的,作者們有企業家的顧問經驗。 總體內容是每一次晉級都是思路的轉換,每一層領導都需要轉換思路才能做好,每一層領導都容易犯的錯誤是事必躬親。 作者列出六個層級的領導:經理、總監、事

值得向iOS學習的15APP設計技巧

結合 減少 控件 系統設置 用戶信息 接下來 通知 保持 不同版本 iOS設計規範再閱讀 對比Google Material Design的設計規範,iOS有些大道至簡的味道,內容很少,但還是從中總(chao ) 結 ( xi ) 了一些設計技 ( tao)巧 ( lu )

建設一個新網站需要這步驟

網頁制作 如何創建網站 無論是工作還是生活,做任何事情都需要做好一個規劃,新網頁制作也一樣需要做好規劃,而且規劃對於網站建設來說非常重要,只要做好了所有的準備工作,網頁制作才會事半功倍。如何創建網站,才可以幫助網站快速提升排名,並且產生更高的價值,還可以體現出網站建設的意義。那麽網站建設一般都有

uCOS-II的學習筆記(共九期)和例子(共

操作 第七篇 wip target 恢復 第一篇 ont load -i 源:uCOS-II的學習筆記(共九期)和例子(共六個) 第一篇 :學習UCOS前的準備工作http://blog.sina.com.cn/s/blog_98ee3a930100w0eu.htm

iOS連續dismiss幾ViewController的方法

操作 lag boa 控制 oid -o appear article 繼承 原文鏈接:http://blog.csdn.net/longshihua/article/details/51282388 presentViewController是經常會用到的展現ViewCo

linux /etc/inittab 的運行級別簡單理解

/etc/inittab配置文件,系統在啟動的過程中會來讀取這個文件的信息[[email protected] ~]# cat /etc/inittab # inittab is only used by upstart for the default runlevel.## ADDING OTHE

Web前端工程師必備的技能!你都會麽?

服務器 events 網站 必須 處理 ie6 好的 異步 廣告 Web前端開發是從網頁制作演變而來的,名稱上有很明顯的時代特征。   2005年以後,互聯網進入Web 2.0時代,各種類似桌面軟件的Web應用大量湧現,網站的前端由此發生了翻天覆地的變化。網頁不再只是

ios -- Masonry 更新約束

nts constrain off ios rain height spa sep pre [self.speakerButton mas_remakeConstraints:^(MASConstraintMaker *make) { make.l

繼承和多態2.0--繼承的默認成員函數

rpm target www avi use oai mar shuf tar B翹4擁8Y3中xn己運2http://huiyi.docin.com/gweef38488 cp揪6窖iy譾強4http://shequ.docin.com/powr48984 g0綴6滯