Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

leading or trailing horizontal alignment before iOS 11

Warning: leading or trailing horizontal alignment before iOS 11

I am getting above warning during compilation on Xcode 9.1 on one of the scenes in a storyboard file. There are other storyboards (with deployment target iOS 10.0) and yet the warning is shown to this specific scene on a specific Storyboard file.

The warning gets suppressed if I change deployment target to iOS 11.0 on the scene where warning is shown but I don't want to do that.

Has anyone come across this case?

like image 768
Prabhav Avatar asked Nov 23 '17 12:11

Prabhav


2 Answers

For me the problem was in using trailing leading alignment on UIButton itself.

Safe area seems to be completely fine to use - it's backward compatible and it translates into proper super view margins.

But this feature is iOS 11 only, so use standard left / right alignment instead if you are targeting lower iOS versions.

Easiest way to find out which view is causing the problem is to search for contentHorizontalAlignment="leading" or contentHorizontalAlignment="trailing" in source code for .xib

enter image description here

like image 115
Grzegorz Krukowski Avatar answered Sep 26 '22 10:09

Grzegorz Krukowski


Step 1:

View your offending storyboard as source code: enter image description here

Step 2:

Replace all instances of:

contentHorizontalAlignment="leading"

with:

contentHorizontalAlignment="left"

Step 3:

Replace all instances of:

contentHorizontalAlignment="trailing"

with:

contentHorizontalAlignment="right"

Step 4:

Compile and watch warning disappear.

I find this approach easier when you have a ton of elements that need to be modified. "leading" and "trailing" as 'contentHorizontalAlignment' value types were introduced with iOS 11. iOS 10 doesn't know about "leading" and "trailing" which is the reason for the warning.

like image 42
etayluz Avatar answered Sep 25 '22 10:09

etayluz