天天看點

探究iOS Constraints 中的Multiplier參數。

我們在使用Auto Layout的時候有時會遇到這個參數,Multiplier的直譯是“乘數”,其實它的真是含義是一個比例。用慣了Autosizing的朋友肯定跟我一樣學習了很久的“限制”。說實話,AutoLayout雖然嚴謹,能力也很強大,但是便捷性比Autosizing差太多,同時我們在布局上下的功夫會是以前的9倍(别問我怎麼算出來的,地球人);OK,進入正題,下面我們開始實驗!

步驟1、建立一個button,我把它取名為Connect,然後讓他在X軸和Y軸都居中對齊(我的上一篇部落格有介紹)

探究iOS Constraints 中的Multiplier參數。

步驟2、選中按鈕的Y軸限制,将Multiplier調為5,之後你會看到下圖效果

探究iOS Constraints 中的Multiplier參數。

步驟3、我們在iPhone6的模拟器上運作,并且輸出

    NSLog(@"view.frame = %@",NSStringFromCGRect(self.view.frame));

    NSLog(@"view.center = %@",NSStringFromCGPoint(self.view.center));

    NSLog(@"BtnConnect.frame = %@",NSStringFromCGRect(BtnConnect.frame));

    NSLog(@"BtnConnect.center = %@",NSStringFromCGPoint(BtnConnect.center));

結果:

2014-09-22 23:29:49.378 MCI14[10925:993808] view.frame = {{0, 0}, {375, 667}}

2014-09-22 23:29:49.378 MCI14[10925:993808] view.center = {187.5,333.5}

2014-09-22 23:29:49.419 MCI14[10925:993808] BtnConnect.frame = {{132.5, 51.5}, {110, 30}}

2014-09-22 23:29:49.419 MCI14[10925:993808] BtnConnect.center = {187.5,66.5}

y1=66.5;

y2=333.5;

進而分析得出:y2=5*y1;

結論:y2=Multiplier*y1;

探究iOS Constraints 中的Multiplier參數。