关于Xcode4.3+禁用UseAutolayout

xcode4.3及以上横空出世一个东东:UseAutolayout。
这个东东是在iOS6或者OSX 10.8上实现控件自动定位。是为了节省代码量的。好是好,只是现在写的东东都要兼容iOS5和10.7以下的系统。如果用了这东东,就没法在iOS6和10.8以下的系统上运行写的东东了。怎么取消这个东东呢?很简单,看图说话:
1.选中xib文件

2.在File Inspector那找到Use Auto Layout取消选中

然后就完事儿了

但是,怎么能完全禁用呢?
在下面两个路径下

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/User Interface/
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Cocoa Touch

这么弄一下:

grep UseAutolayout * -R

是不是发现一堆的xib文件里,有要找的东东:

Application.xctemplate/iPad/___FILEBASENAME___.xib:     <bool key="IBDocument.UseAutolayout">NO</bool>
Application.xctemplate/iPhone/___FILEBASENAME___.xib:       <bool key="IBDocument.UseAutolayout">NO</bool>
Empty.xctemplate/iPad/___FILEBASENAME___.xib:       <bool key="IBDocument.UseAutolayout">NO</bool>
Empty.xctemplate/iPhone/___FILEBASENAME___.xib:     <bool key="IBDocument.UseAutolayout">NO</bool>
View.xctemplate/iPad/___FILEBASENAME___.xib:        <bool key="IBDocument.UseAutolayout">NO</bool>
View.xctemplate/iPhone/___FILEBASENAME___.xib:      <bool key="IBDocument.UseAutolayout">NO</bool>
Window.xctemplate/iPad/___FILEBASENAME___.xib:      <bool key="IBDocument.UseAutolayout">NO</bool>
Window.xctemplate/iPhone/___FILEBASENAME___.xib:        <bool key="IBDocument.UseAutolayout">NO</bool>

就是改这些文件喽。直接一句话搞定:

sudo find . -name *.xib -exec sed -i '' -e '/UseAutolayout/{s/YES/NO/;}' {} \;

ok,这下真的清净了。。
改回来的话,也简单,YES和NO交换一下位置就可以了

sudo find . -name *.xib -exec sed -i '' -e '/UseAutolayout/{s/NO/YES/;}' {} \;

不用怀疑,以上命令实时生效,可以去xcode看效果了。

参考资料:
Arggh… Xcode 4.3 Auto Layout is ON By Default?! How to Turn Off Auto Layout…
how to disable auto layout by default for xcode 4.5?

转载请注明: 转自Rainbird的个人博客
   本文链接: 关于Xcode4.3+禁用UseAutolayout

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值