我正在进行Xamarin.iOS开发,我在Xcode中使用autolayout来设计UI界面。
在Xcode的预览模式下,我的UI表现良好,但是在一些设备上,比如iPhone 5s和iPhone 6s Plus上,界面显示与预览不同。
有人能解释一下为什么会出现这种情况,并告诉我怎样解决吗?
谢谢!
我正在进行Xamarin.iOS开发,我在Xcode中使用autolayout来设计UI界面。
在Xcode的预览模式下,我的UI表现良好,但是在一些设备上,比如iPhone 5s和iPhone 6s Plus上,界面显示与预览不同。
有人能解释一下为什么会出现这种情况,并告诉我怎样解决吗?
谢谢!
有很多原因会导致自动布局错误。其中一些是由于不同的屏幕比例,另一些是由于不同的iOS版本。
您应该查看调试器输出并检查是否有类似以下消息:
Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
"<NSLayoutConstraint:0x7fc82d3e18a0 H:[UIView:0x7fc82aba1210(768)]>",
"<NSLayoutConstraint:0x7fc82d6369e0 H:[UIView:0x7fc82aba1210]-(0)-| (Names: '|':UIView:0x7fc82d6b9f80 )>",
"<NSLayoutConstraint:0x7fc82d636a30 H:|-(0)-[UIView:0x7fc82aba1210] (Names: '|':UIView:0x7fc82d6b9f80 )>",
"<NSLayoutConstraint:0x7fc82d3e7fd0 'UIView-Encapsulated-Layout-Width' H:[UIView:0x7fc82d6b9f80(50)]>"
)
只需要调试它。