- (void)createscrollview ;
//橫向約束,距離螢幕左右各方8個畫素的間距
nsarray * hscroll = [nslayoutconstraint constraintswithvisualformat:@"h:|-8-[scroll]-8-|" options:0 metrics:nil views:views];
//縱向約束,使他距離螢幕上下方都是0畫素
nsarray * vscroll = [nslayoutconstraint constraintswithvisualformat:@"v:|[scroll]|" options:0 metrics:nil views:views];
[self
.view addconstraints:hscroll];
[self
.view addconstraints:vscroll];
//為contentview新增約束
contentview.translatesautoresizingmaskintoconstraints = no;
nsdictionary * contentviews = @;
//新增橫向約束
nsarray * hcontent = [nslayoutconstraint constraintswithvisualformat:@"h:|[content]|" options:0 metrics:nil views:contentviews];
//新增縱向約束
nsarray * vcontent = [nslayoutconstraint constraintswithvisualformat:@"v:|[content]|" options:0 metrics:nil views:contentviews];
//普通的檢視到此結束了,但是scrollview需要新增下面兩個約束
//設定contentview的寬度
nslayoutconstraint * widthcontent = [nslayoutconstraint constraintwithitem:contentview attribute:nslayoutattributewidth relatedby:nslayoutrelationequal toitem:self
.scrollview attribute:nslayoutattributewidth multiplier:1.0 constant:0];//這句話的意思是:新增乙個明確的約束,contentview.width(nslayoutattributewidth) = scrollview.width(nslayoutattributewidth) * 1.0(multiplier) + 0(constant)
//設定contentview的高度
nslayoutconstraint * heightcontent = [nslayoutconstraint constraintwithitem:contentview attribute:nslayoutattributeheight relatedby:nslayoutrelationequal toitem:self
.scrollview attribute:nslayoutattributeheight multiplier:1.0 constant:0];
[self
.scrollview addconstraints:hcontent];
[self
.scrollview addconstraints:vcontent];
[self
.scrollview addconstraint:widthcontent];
[self
.scrollview addconstraint:heightcontent];
//用約束 scrollview的contentsize是不需要設定的
= contentview.frame.size;
}
解決ListView巢狀ScrollView的問題
當scrollview裡面包含listview時,listview只能顯示第一行資料.所以需要解決的也就是高度問題了 需要自定義,重寫onmeasure方法,改變測量的高度就行了class mylistview extends listview 使得listview適應scrollview的效果 o...
IOS VFL螢幕自適應
1 void fun1,這個詞典應當包含需要自動布局的父檢視和所有的子檢視,24 25 nsarray arr1 nslayoutconstraint constraintswithvisualformat v 20 view options 0 metrics nil views nsdictio...
iOS VFL語言的簡單實用
import viewcontroller.h inte ce viewcontroller end implementation viewcontroller 在介面上有乙個藍色的 view,它距離父控制項的上左右 各是20,藍色 view 的高是100 在藍色 view 的下方有乙個紅色的 vi...