iOS - iPhone 6 模拟器上的大小错误
iOS - Wrong size on iPhone 6 simulator
我在水平居中的UIStoryBoard
中插入了一个UILabel
。但是当我 运行 它在 iPhone 6 上时它不在中心。为什么会发生这种情况以及我如何防止将来遇到同样的问题?
在 iPhone 5 等其他模拟器上运行良好。
iOS 设备有不同的分辨率,尤其是在 iPhone 6 和 iPhone 6 Plus 发布之后。因为情节提要只是应用程序界面的一般表示,所以 canvas 的尺寸 而不是 实际上类似于任何一种特定的屏幕尺寸。事实上,您可能会注意到默认的 canvas 有点像 "square."
因此,您不能期望您的视图在模拟器或实际设备上看起来与在您的 canvas 中完全一样,只需将它们全部放在您的 canvas 中即可。要进行布局,您需要使用 约束条件 ,这是一组明确告诉系统您希望如何定位视图的规则。事实上,从 iOS 8 开始,Apple 鼓励开发人员利用 auto layout
和 size classes
开发适合 任何 尺寸屏幕的应用程序,即使iPhones 和 iPad 同时。
在你的情况下,为了使用约束将标签放在屏幕中央,只需 Control - 将你的标签拖到情节提要中的超级视图:
在弹出窗口中,选择在容器中水平居中和在容器中垂直居中。您可以同时持有 Shift 到 select 多个约束。然后,在 Size Inspector 中,确保约束的常量是 0
.
请查看 Apple's guide about using AutoLayout,因为它是您将来开发 iOS 应用程序(或 OS X 应用程序)时将使用的主要布局机制。
首先select标注并使用Pin工具添加top,width,height约束:
然后,使用对齐 属性 水平对齐:
P.S - 学习自动布局是一件非常乏味的事情,但是一旦你熟悉了它,你会发现为多个设备创建视图很容易。寻找教程和视频。练习-练习!
-Select 在 Storyboard 中查看控制器。
-在实用程序区域的文件检查器中勾选 "Use Auto Layout option"。
-Select 标签并通过单击编辑器区域底部的图钉按钮为该标签添加约束。
希望它对you.Thank你有用。
我在水平居中的UIStoryBoard
中插入了一个UILabel
。但是当我 运行 它在 iPhone 6 上时它不在中心。为什么会发生这种情况以及我如何防止将来遇到同样的问题?
在 iPhone 5 等其他模拟器上运行良好。
iOS 设备有不同的分辨率,尤其是在 iPhone 6 和 iPhone 6 Plus 发布之后。因为情节提要只是应用程序界面的一般表示,所以 canvas 的尺寸 而不是 实际上类似于任何一种特定的屏幕尺寸。事实上,您可能会注意到默认的 canvas 有点像 "square."
因此,您不能期望您的视图在模拟器或实际设备上看起来与在您的 canvas 中完全一样,只需将它们全部放在您的 canvas 中即可。要进行布局,您需要使用 约束条件 ,这是一组明确告诉系统您希望如何定位视图的规则。事实上,从 iOS 8 开始,Apple 鼓励开发人员利用 auto layout
和 size classes
开发适合 任何 尺寸屏幕的应用程序,即使iPhones 和 iPad 同时。
在你的情况下,为了使用约束将标签放在屏幕中央,只需 Control - 将你的标签拖到情节提要中的超级视图:
在弹出窗口中,选择在容器中水平居中和在容器中垂直居中。您可以同时持有 Shift 到 select 多个约束。然后,在 Size Inspector 中,确保约束的常量是 0
.
请查看 Apple's guide about using AutoLayout,因为它是您将来开发 iOS 应用程序(或 OS X 应用程序)时将使用的主要布局机制。
首先select标注并使用Pin工具添加top,width,height约束:
然后,使用对齐 属性 水平对齐:
P.S - 学习自动布局是一件非常乏味的事情,但是一旦你熟悉了它,你会发现为多个设备创建视图很容易。寻找教程和视频。练习-练习!
-Select 在 Storyboard 中查看控制器。
-在实用程序区域的文件检查器中勾选 "Use Auto Layout option"。
-Select 标签并通过单击编辑器区域底部的图钉按钮为该标签添加约束。
希望它对you.Thank你有用。