Ios-use Nslayoutconstraint to achieve multiple view widths equal to high spacing
Last Update:2015-05-26
Source: Internet
Author: User
<span id="Label3"></p><pre><span style="color: #0000ff;"><span style="color: #0000ff;">@interface</span></span><span style="color: #000000;"><span style="color: #000000;">Viewcontroller () {UIView</span></span>*<span style="color: #000000;"><span style="color: #000000;">firstview; UIView</span></span>*<span style="color: #000000;"><span style="color: #000000;">secondview; UIView</span></span>*<span style="color: #000000;"><span style="color: #000000;">thirdview; }</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">@end</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">@implementation</span></span><span style="color: #000000;"><span style="color: #000000;">Viewcontroller</span></span>- (<span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">) Viewdidload{[super viewdidload]; </span></span><span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">* First View</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #000000;"><span style="color: #000000;">Firstview</span></span>=<span style="color: #000000;"><span style="color: #000000;">[[UIView alloc]init]; Firstview.translatesautoresizingmaskintoconstraints</span></span>=<span style="color: #000000;"><span style="color: #000000;">NO; Firstview.backgroundcolor</span></span>=<span style="color: #000000;"><span style="color: #000000;">[uicolor bluecolor]; [self.view addsubview:firstview]; </span></span><span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">* A second view</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #000000;"><span style="color: #000000;">Secondview</span></span>=<span style="color: #000000;"><span style="color: #000000;">[[UIView alloc]init]; Secondview.translatesautoresizingmaskintoconstraints</span></span>=<span style="color: #000000;"><span style="color: #000000;">NO; Secondview.backgroundcolor</span></span>=<span style="color: #000000;"><span style="color: #000000;">[uicolor browncolor]; [self.view addsubview:secondview]; </span></span><span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">* A third view</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #000000;"><span style="color: #000000;">Thirdview</span></span>=<span style="color: #000000;"><span style="color: #000000;">[[UIView alloc]init]; Thirdview.translatesautoresizingmaskintoconstraints</span></span>=<span style="color: #000000;"><span style="color: #000000;">NO; Thirdview.backgroundcolor</span></span>=<span style="color: #000000;"><span style="color: #000000;">[uicolor yellowcolor]; [self.view addsubview:thirdview]; </span></span><span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">* Bind three view</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #000000;"><span style="color: #000000;">nsdictionary</span></span>*dic_bind =<span style="color: #000000;"><span style="color: #000000;">nsdictionaryofvariablebindings (firstview,secondview,thirdview); </span></span><span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">* Set the spacing and height between the view</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #000000;"><span style="color: #000000;">nsdictionary</span></span>*dic_constraint = @{<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">padding</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>:@(<span style="color: #800080;"><span style="color: #800080;">Ten</span></span><span style="color: #000000;"><span style="color: #000000;">. f),</span></span><span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">Height</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>:@(<span style="color: #800080;"><span style="color: #800080;"></span> max</span><span style="color: #000000;"><span style="color: #000000;">. f)}; </span></span><span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">* * The first view adds a constraint</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span> <span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">* Vertical Center alignment</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #000000;"><span style="color: #000000;">Nslayoutconstraint</span></span>*first_centery = [nslayoutconstraint Constraintwithitem:firstview attribute:nslayoutattributecentery relatedBy: Nslayoutrelationequal ToItem:self.view attribute:nslayoutattributecentery Multiplier:<span style="color: #800080;"><span style="color: #800080;">1</span></span>constant<span style="color: #800080;"><span style="color: #800080;">0</span></span><span style="color: #000000;"><span style="color: #000000;">]; </span></span><span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">* Add height constraint vertically</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #000000;"><span style="color: #000000;">Nsarray</span></span>*first_v = [nslayoutconstraint constraintswithvisualformat:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">V:[firstview (height)]</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Options<span style="color: #800080;"><span style="color: #800080;">0</span></span><span style="color: #000000;"><span style="color: #000000;">Metrics:dic_constraint views:dic_bind]; [self.view addconstraints:@[first_centery]]; [self.view addconstraints:first_v]; </span></span><span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">* * The second view adds a constraint</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span> <span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">* Vertical Center alignment</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #000000;"><span style="color: #000000;">Nslayoutconstraint</span></span>*second_centery = [nslayoutconstraint Constraintwithitem:secondview attribute:nslayoutattributecentery relatedBy: Nslayoutrelationequal ToItem:self.view attribute:nslayoutattributecentery Multiplier:<span style="color: #800080;"><span style="color: #800080;">1</span></span>constant<span style="color: #800080;"><span style="color: #800080;">0</span></span><span style="color: #000000;"><span style="color: #000000;">]; </span></span><span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">* Add height constraint vertically</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #000000;"><span style="color: #000000;">Nsarray</span></span>*second_v = [nslayoutconstraint constraintswithvisualformat:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">V:[secondview (height)]</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Options<span style="color: #800080;"><span style="color: #800080;">0</span></span><span style="color: #000000;"><span style="color: #000000;">Metrics:dic_constraint views:dic_bind]; [self.view addconstraint:second_centery]; [self.view addconstraints:second_v]; </span></span><span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">* * Third view to add a constraint</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span> <span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">* Vertical Center alignment</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #000000;"><span style="color: #000000;">Nslayoutconstraint</span></span>*third_centery = [nslayoutconstraint Constraintwithitem:thirdview attribute:nslayoutattributecentery relatedBy: Nslayoutrelationequal ToItem:self.view attribute:nslayoutattributecentery Multiplier:<span style="color: #800080;"><span style="color: #800080;">1</span></span>constant<span style="color: #800080;"><span style="color: #800080;">0</span></span><span style="color: #000000;"><span style="color: #000000;">]; </span></span><span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">* Add height constraint vertically</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #000000;"><span style="color: #000000;">Nsarray</span></span>*third_v = [nslayoutconstraint constraintswithvisualformat:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">V:[thirdview (height)]</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Options<span style="color: #800080;"><span style="color: #800080;">0</span></span><span style="color: #000000;"><span style="color: #000000;">Metrics:dic_constraint views:dic_bind]; [self.view addconstraints:@[third_centery]]; [self.view addconstraints:third_v]; </span></span><span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">* Add a horizontal constraint equal to three view width equal spacing</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #000000;"><span style="color: #000000;">Nsarray</span></span>* Allconstraint_h = [nslayoutconstraint constraintswithvisualformat:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">H:|-padding-[firstview]-10-[secondview (firstview)]-padding-[thirdview (secondview)]-padding-|</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Options<span style="color: #800080;"><span style="color: #800080;">0</span></span><span style="color: #000000;"><span style="color: #000000;">Metrics:dic_constraint views:dic_bind]; [self.view addconstraints:allconstraint_h]; }</span></span></pre><p><p></p></p><p><p>Ios-use Nslayoutconstraint to achieve multiple view widths equal to high spacing</p></p></span>