Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

XCode 6.0.1 ios 7 Autolayout

Tags:

ios7

xcode6

ios8

I have found that applications built in XCode 6 for ios 7 have different behavior from same apps built for ios 8. There is something wrong with autolayout constraints. For example some bottom and trailing spaces won't work if I build app in XCode 6 for ios 7 both in sumulator or device, but apps correctly work if i build them in XCode 6 for ios 8 or in XCode 5 for ios 7. So i think there are some troubles for ios 7 when you build with XCode 6. If anyone has the same issue and how can it be resolved?

like image 303
kostyl Avatar asked Sep 23 '14 11:09

kostyl


1 Answers

In iOS 7, cells’ content views sized themselves via autoresizing masks. In iOS 8, this was changed, cells stopped using the autoresizing masks and started sizing the content view in layoutSubviews. If a nib is encoded in iOS 8 and then decode it on iOS 7, you’ll have a content view without an autoresizing mask and no other means by which to size itself. So if you ever change the frame of the cell, the content view won’t follow.

Apps being deploying back to iOS 7 will have to work around this by sizing the content view itself, adding autoresizing masks, or adding constraints. I guess this means that it's not a bug in XCode 6, but an incompatibility between the iOS 8 SDK and iOS 7 SDK, which will hit you if you upgrade to Xcode 6, because it will automatically start using the iOS 8 SDK.

like image 71
Kakshil Shah Avatar answered Dec 05 '22 09:12

Kakshil Shah