1,在自定義彈框時(shí)
-(void)showInView:(UIView *)view{
[[UIApplication sharedApplication].delegate.window.rootViewController.view addSubview:self];
}
自定義彈框最好先獲取當(dāng)前的rootViewController,然后顯示出來(lái)
2,autoresizing使用
我們?cè)谝粋€(gè)xib文件中,取消勾選autolayout,(默認(rèn)使用autolayout時(shí),autoresizing看不到)。那么我們可以在布局那一欄看到如何設(shè)置autoresizing.
UIViewAutoresizingNone view的frame不會(huì)隨superview的改變而改變
UIViewAutoresizingFlexibleLeftMargin 自動(dòng)調(diào)整view與superview左邊的距離,保證與父視圖右邊距離不變
UIViewAutoresizingFlexibleWidth 自動(dòng)調(diào)整view的寬,保證與superView的左右邊距不變
UIViewAutoresizingFlexibleRightMargin 自動(dòng)調(diào)整view與superview右邊的距離保證左邊距不變
UIViewAutoresizingFlexibleTopMargin 自動(dòng)調(diào)整view與superview頂部的距離保證底部距離不變
UIViewAutoresizingFlexibleHeight 自動(dòng)調(diào)整view的高,保證與superView的頂部和底部距離不變
UIViewAutoresizingFlexibleBottomMargin 自動(dòng)調(diào)整view與superview底部部的距離保證頂部距離不變
小結(jié)
Autoreszing的最常見(jiàn)的實(shí)用場(chǎng)景就是iPhone5的兼容了。比如我們想要設(shè)置tableView的frame,那我們只需要在初始化設(shè)置frame之后將tableView的autoresizingMask設(shè)置為 UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight 就行了。
另一種比如我們想要一個(gè)view一直停留在其superview的最下方,那么我們?cè)诔跏蓟O(shè)置frame之后只需要將autoresizingMask設(shè)置為UIViewAutoresizingFlexibleTopMargin 就可以了。
autorezingMask簡(jiǎn)單的一個(gè)屬性,理解它之后可以讓很多事情變得簡(jiǎn)單。