Frame布局

MMLayout

今天想介紹的就是開發(fā)中,布局的問題. 本人一直使用的傳統(tǒng)的Frame來寫UI 個人習慣,我覺得Frame 的效率還是比autolayout要高的,這個小伙伴可以測試一下的.

但是使用Frame 的時候 代碼計算的時候很多,比如距離左邊的控件的最大x值是多少,這樣寫來寫去,實在代碼可以不方便看,然后還的自己計算,很麻煩.

下面是簡單的調(diào)用 下面的使用時在UIViewController 里面添加UI使用

-(void)viewDidLayoutSubviews{
    [self.yellowView make_Layout:^(MMLayout *layout) {
        layout.width = 100;
        layout.height = 200;
        layout.left = 5;
        layout.top = 100;
    }];
    __weak typeof(self)_self = self;
    [self.yellowViewTwo make_Layout:^(MMLayout *layout) {
    __strong typeof(_self)self = _self;
        layout.left = self.yellowView.maxX + 5;
        layout.top = self.yellowView.y;
        layout.size = self.yellowView.bounds.size;
        
    }];
    [self.yellowViewTree make_Layout:^(MMLayout *layout) {
        layout.height = 50;
        layout.width = 100;
        layout.right = 10;
        layout.top = 10;
      
    }];
    
}

鏈接式寫Frame

 1.創(chuàng)建一個View 
  UIView *newView = [UIView new]; 
  [self.view addSubViews:newView];
  newView.height(100).left(10).width(100).top(100);  

相同設置


    UIView *redView = [UIView new];  
    [self.view addSubview:redView]; 

    UIView *redView1 = [UIView new];  
    [self.view addSubview:redView1];  

    UIView *redView2 = [UIView new];  
    [self.view addSubview:redView2]; 

    UIView *redView3 = [UIView new];  
    [self.view addSubview:redView3]; 

    redView.m_left(10).m_top(10).m_size(CGSize(50,50));  

    redView1.m_equalToTop(redView).m_equalToSize(redView).m_left(redView.mm_maxX + 10); 

    redView2.m_equalToTop(redView1).m_equalToSize(redView1).m_left(redView1.mm_maxX + 10); 

    redView3.m_equalToTop(redView2).m_equalToSize(redView2).m_left(redView2.mm_maxX + 10); 

以上是兩種方式代碼閱讀我個人覺得很好閱讀
平時在控制器寫UI代碼的時候布局的代碼 我一般都會寫在 - (void)viewDidLayoutSubviews

這個方法當控制器的View發(fā)生變化的時候會來到這個方法,比如一個場景,就是橫豎屏的時候,你不用監(jiān)聽屏幕的旋轉,只要在這里寫上相對好的布局,橫豎屏的時候會自己調(diào)用這個方法,從新的計算子控件的位置.

假設你在自定義View的時候在View的里面寫布局的方法是 layoutSubviews 這個方法 父控件發(fā)生變化會調(diào)用LayoutSubViews

個人覺得,如果你用代碼寫aotolayout的話,有的時候更新約束,也是很麻煩的一件事.然后調(diào)試的時候,也會出現(xiàn)各種aotolayout的錯誤提示.

使用frame來寫,避免了aotolayout的錯誤,錯誤率降低了.

話又說回來,autoLaout 確實很強大. 比如寫UILabel的時候很方便,用frame寫的話,還得計算text的size. 不過開發(fā)中,使用某一個東西,當然是有利有弊.這個還的根據(jù)大家的喜好,和公司的規(guī)范.來開發(fā).

謝謝大家.

https://github.com/DemoDu/MMLayout- 代碼地址

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末生年,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子建瘫,更是在濱河造成了極大的恐慌振亮,老刑警劉巖坤检,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寝并,死亡現(xiàn)場離奇詭異申尼,居然都是意外死亡胶惰,警方通過查閱死者的電腦和手機惦界,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門挑格,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人沾歪,你說我怎么就攤上這事漂彤。” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵挫望,是天一觀的道長立润。 經(jīng)常有香客問我,道長媳板,這世上最難降的妖魔是什么桑腮? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮蛉幸,結果婚禮上破讨,老公的妹妹穿的比我還像新娘。我一直安慰自己奕纫,他們只是感情好提陶,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著若锁,像睡著了一般搁骑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上又固,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機與錄音煤率,去河邊找鬼仰冠。 笑死,一個胖子當著我的面吹牛蝶糯,可吹牛的內(nèi)容都是我干的洋只。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼昼捍,長吁一口氣:“原來是場噩夢啊……” “哼识虚!你這毒婦竟也來了?” 一聲冷哼從身側響起妒茬,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤担锤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后乍钻,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肛循,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年银择,在試婚紗的時候發(fā)現(xiàn)自己被綠了多糠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡浩考,死狀恐怖夹孔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤搭伤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布只怎,位于F島的核電站,受9級特大地震影響闷畸,放射性物質(zhì)發(fā)生泄漏尝盼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一佑菩、第九天 我趴在偏房一處隱蔽的房頂上張望盾沫。 院中可真熱鬧,春花似錦殿漠、人聲如沸赴精。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蕾哟。三九已至,卻和暖如春莲蜘,著一層夾襖步出監(jiān)牢的瞬間谭确,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工票渠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留逐哈,地道東北人。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親父阻。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,862評論 25 707
  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫肠骆、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,066評論 4 62
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程塞耕,因...
    小菜c閱讀 6,376評論 0 17
  • 希望大家喜歡蚀腿,點贊哦單個字符及其匹配: 多個字符及其匹配:|多個字符|匹配||*|匹配前一個字符0次或者無限次||...
    Gaolex閱讀 237評論 0 1
  • 數(shù)組 數(shù)組使用[]定義,這一點與OC相同 遍歷 通過下標獲取指定項的內(nèi)容 可變&不可變let 定義不可變數(shù)組var...
    ZLWorm閱讀 298評論 0 0