標籤:
/*關於autolayout多說幾句
* 在一個控制項記憶體在autolayout與autoresize子控制項時,要適配部分autoresize
* translatesAutoresizingMaskIntoConstraints 預設是開啟轉換的
//在autoresize下可以通過以下代碼進行autolayout視圖的大小計算
if (!contentView.translatesAutoresizingMaskIntoConstraints) {
[contentView needsUpdateConstraints];
[contentView updateConstraints];
CGSize ss = [contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
}
//另外如果autolayout視圖在autoresize視圖內部,而且需要配置相對位置,可以通過以下代碼設定
[autoresizeView removeConstraints:autoresizeView.constraints];//或者只刪除配置內容相關的
NSDictionary *dic = NSDictionaryOfVariableBindings(autolayout);
NSString *VFL = [NSString stringWithFormat:@"V:|-%f-[autolayout]",rect.origin.y];
NSArray *ar = [NSLayoutConstraint constraintsWithVisualFormat:VFL options:0 metrics:nil views:dic];
[autoresizeView addConstraints:ar];
VFL = [NSString stringWithFormat:@"|-%f-[autolayout]",rect.origin.x];
ar = [NSLayoutConstraint constraintsWithVisualFormat:VFL options:0 metrics:nil views:dic];
[autoresizeView addConstraints:ar];
*/
還有一種辦法在外面進行計算,給autolayout的視圖加個UIView殼,systemLayoutSizeFittingSize:計算出大小設定到殼上,再放到非autolayout支援的視圖上
IOS自動布局與非自動布局嵌套使用的解決辦法