IPhone、IPad經常會遇到橫豎屏切換,或者需要自動調整大小。如果你的界面不能用storyboard和xib來生成界面的話,先把控制器視圖的frame屬性值固定下來,然后添加subview(子視圖)的時候,就可以使用視圖繼承類(UIView) 自帶的 autoresizingMask 屬性,之后如果橫豎屏切換,或者是使用UIPopoverController之類的方法,就可以只設置一次frame屬性,以后的frame屬性都是自適應的(frame縮小太多的話效果不好,根據情況而定)。
?{
? ? UIViewAutoresizingNone ? ? ? ? ? ? ? ? =?0,
? ? UIViewAutoresizingFlexibleLeftMargin ? =?1?<<?0,
? ? UIViewAutoresizingFlexibleWidth? ? ? ? =?1?<<?1,
? ? UIViewAutoresizingFlexibleRightMargin? =?1?<<?2,
? ? UIViewAutoresizingFlexibleTopMargin? ? =?1?<<?3,
? ? UIViewAutoresizingFlexibleHeight ? ? ? =?1?<<?4,
? ? UIViewAutoresizingFlexibleBottomMargin =?1?<<?5
};
typedef?NSUInteger?UIViewAutoresizing;
?
UIViewAutoresizingFlexibleLeftMargin 視圖靠右對齊
UIViewAutoresizingFlexibleWidth 視圖自適應寬度
UIViewAutoresizingFlexibleRightMargin 視圖靠左對齊
UIViewAutoresizingFlexibleTopMargin 視圖靠下對齊
UIViewAutoresizingFlexibleHeight 視圖自適應高度
UIViewAutoresizingFlexibleBottomMargin 視圖靠上對齊
?
注意:LeftMargin、RightMargin、TopMargin、BottomMargin的實際對齊方向是相反的
?
示例:讓按鈕始終在 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]; }
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
