IPhone、IPad經(jīng)常會(huì)遇到橫豎屏切換,或者需要自動(dòng)調(diào)整大小。如果你的界面不能用storyboard和xib來(lái)生成界面的話,先把控制器視圖的frame屬性值固定下來(lái),然后添加subview(子視圖)的時(shí)候,就可以使用視圖繼承類(UIView) 自帶的 autoresizingMask 屬性,之后如果橫豎屏切換,或者是使用UIPopoverController之類的方法,就可以只設(shè)置一次frame屬性,以后的frame屬性都是自適應(yīng)的(frame縮小太多的話效果不好,根據(jù)情況而定)。
?{
? ? UIViewAutoresizingNone ? ? ? ? ? ? ? ? =?0,
? ? UIViewAutoresizingFlexibleLeftMargin ? =?1?<<?0,
? ? UIViewAutoresizingFlexibleWidth? ? ? ? =?1?<<?1,
? ? UIViewAutoresizingFlexibleRightMargin? =?1?<<?2,
? ? UIViewAutoresizingFlexibleTopMargin? ? =?1?<<?3,
? ? UIViewAutoresizingFlexibleHeight ? ? ? =?1?<<?4,
? ? UIViewAutoresizingFlexibleBottomMargin =?1?<<?5
};
typedef?NSUInteger?UIViewAutoresizing;
?
UIViewAutoresizingFlexibleLeftMargin 視圖靠右對(duì)齊
UIViewAutoresizingFlexibleWidth 視圖自適應(yīng)寬度
UIViewAutoresizingFlexibleRightMargin 視圖靠左對(duì)齊
UIViewAutoresizingFlexibleTopMargin 視圖靠下對(duì)齊
UIViewAutoresizingFlexibleHeight 視圖自適應(yīng)高度
UIViewAutoresizingFlexibleBottomMargin 視圖靠上對(duì)齊
?
注意:LeftMargin、RightMargin、TopMargin、BottomMargin的實(shí)際對(duì)齊方向是相反的
?
示例:讓按鈕始終在 ViewController 的右上角顯示:
?
- (
void
)viewDidLoad
{
[super viewDidLoad];
UIButton
*right =
[UIButton buttonWithType:UIButtonTypeRoundedRect];
right.frame
= CGRectMake(self.view.frame.size.width-
300
,
0
,
300
,
300
);
right.autoresizingMask
= UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight;
[right setTitle:
@"
456
"
forState:UIControlStateNormal];
[self.view addSubview:right];
}
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

