Xcode 9 - “Fixed Width Constraints May Cause Clipping” and Other Localization Warnings

后端 未结 13 1047
失恋的感觉
失恋的感觉 2020-11-27 10:33

I downloaded the new Xcode and in Interface Builder I\'m having a ton of problems with warnings that say things like:

Fixed Width Constraints May Caus

相关标签:
13条回答
  • 2020-11-27 11:01

    With Labels, you can set Lines is 0 and Autoshrink properties is Minimum Font Size to remove Fixed Width Constraints May Cause Clipping warnings, like this:

    0 讨论(0)
  • 2020-11-27 11:01

    Swift 4 , Xcode 9.1 :

    About this issue, I think your object don't know what it's the correct center position in the context of it's superview, and using remove, greater than or other leading/trealing settings most of times don't work correctly. First, you must check the correct constraints of your superview.

    If your superview/s are correctly setted, you can try to "explain" to your object what is the correct position in the view by setting the "horizontally in Container" constraint:

    0 讨论(0)
  • 2020-11-27 11:03

    If you need fixed width constraint for button just set width constraint priority to 700.

    0 讨论(0)
  • 2020-11-27 11:03

    I had a similar issue when trying have the button with the same paddings from the edges of the super view.

    I've ended up using horizontal center constraint and equal widths constraint to the super view.

    0 讨论(0)
  • 2020-11-27 11:07

    I know this question has already been answered but what I did to fix this error in my case was to add the "Aspect ratio" property and then eliminate the width or height constraint this worked pretty well and was less effort, and I managed to keep the same output and adapt my view for the different devices.

    0 讨论(0)
  • 2020-11-27 11:12

    I had the same problem when moving to Xcode 9 and found an approach that's useful for certain kinds of layouts. In my case, I wanted a table header in which two columns (UILabels) were of fixed width and another was of variable width. Regardless of how I specified column widths (including using constraints greater than or equal instead of equal, etc.), I kept getting the warning about possible clipping. In my case, I wanted the variable width column (UILabel) to clip if necessary. I could have just ignored the warning, but don't like doing that.

    The approach that worked here was to create a UIView with appropriate size constraints and embed the UILabel as a subview in the UIView. Then truncation happens if necessary and I get no warning. This works whether the UIView/embedded UILabel is in a StackView or not.

    This is essentially the same approach as that of Haroldo Gondim but here you can see it also works with or without StackView.

    The following image shows the approach, with and without StackView. "SpacerName" is a variable width UIView containing a label and "SpacerPD" is one with a fixed width of 80. [Colors are not significant; just there to show where the views are.]

    0 讨论(0)
提交回复
热议问题