IOS自动布局与非自动布局嵌套使用的解决办法
2015-03-12 11:14
507 查看
/*关于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支持的视图上
* 在一个控件内存在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支持的视图上
相关文章推荐
- android eclipse 解决使用布局查看器自动退出 的问题
- 由于使用zen coding导致myeclipse6.5中使用Alt+/不自动提示的解决办法
- iOS开发中 ARC工程使用非ARC文件/非ARC工程使用ARC文件的解决办法
- iOS开发- 相机(摄像头)获取到的图片自动旋转90度解决办法
- hibernate 使用mysql6.0 无法自动建表的解决办法
- 【技术贴】局域网设置 使用自动配置脚本 有对钩被选中取消不掉的解决办法
- iOS中使用RegexKitLite来试用正则表达式 使用ARC 20个错误解决办法
- iOS开发中 ARC工程使用非ARC文件/非ARC工程使用ARC文件的解决办法
- 使用myeclipse自动导入hibernate3的jar包,如何关联hibernate源码的解决办法
- ios UI开发之使用xcode5自动布局
- OracleOraDb11g_home1TNSListener服务启动后停止,某些服务在未由其它服务或程序使用时将自动停止 解决办法
- eclipse Content Assist 无法使用,不能自动补全的解决办法
- Android开发:EditText和ListView或GridView同时使用,输入法自动跳出来的 解决办法
- iOS中使用RegexKitLite来试用正则表达式 使用ARC 20个错误解决办法 mark
- 使用div+CSS布局浏览器不兼容原因及解决办法
- Asp.net MVC 3 Razor 视图引擎 中使用@输出的内容都会被自动进行HTML编码 问题的解决办法
- firefox(火狐)使用自动填充记住的用户名密码时,会将密码填充到相同name的文本域解决办法
- ios下使用overflow scroll情况下,到达最极端的情况时会拖动整个页面的解决办法
- iOS中使用RegexKitLite来试用正则表达式 使用ARC 20个错误解决办法 mark
- iOS中使用RegexKitLite来试用正则表达式 使用ARC 20个错误解决办法