您的位置:首页 > 移动开发 > IOS开发

iOS应用程序用户界面–使用AutoLayout设计

2020-08-05 12:40 1476 查看

UI(User Interface) is undeniably the USP of a mobile app. Irrespective of the mobile platform that the app operates on, it is the sole user interface that decides the success or failure of the application. Getting things wrong while designing an app’s UI can adversely affect the overall performance of the app and make it lose its targeted users. If you’re an iOS app developer who’s been constantly hunting for the best methods of designing intuitive user interfaces for your apps, then a detailed know-how about the Auto Layout feature in iOS6, 7 and 8 versions will serve handy. In today’s blog, I’ll be elaborating on taking the full advantage of AutoLayout feature for designing iOS app user interfaces that are robust and easy to understand.

不可否认,UI(用户界面)是移动应用程序的USP。 不管应用程序在哪个移动平台上运行,它都是决定应用程序成败的唯一用户界面。 在设计应用程序UI时出错会严重影响应用程序的整体性能,并使其失去目标用户。 如果您是一个iOS应用程序开发人员,并且一直在寻找为您的应用程序设计直观用户界面的最佳方法,那么有关iOS6、7和8版本中“自动布局”功能的详细专有技术将非常有用。 在今天的博客中,我将详细介绍如何充分利用AutoLayout功能来设计功能强大且易于理解的iOS应用程序用户界面。

自动版式–概述 (AutoLayout – An Overview)

Serving as a constraint-based layout system, Auto Layout allows you to create a highly adaptive user interface that switches in accordance to the varying device orientations and screen sizes. As one of the most stunning features of iOS, Auto Layout offers you a fabulous way for managing the positioning and sizing of all controls that are being incorporated into the app’s user interface. The flexibility of Auto Layout opens doors to a massive amount of customization that helps in delivering a perfect user interface. One of the greatest advantages of Auto Layout is that it’s compatible with a large number of application programming interfaces(APIs) such as motion effects, animations and sprites.

作为基于约束的布局系统,“自动布局”使您可以创建高度自适应的用户界面,该界面可根据设备的方向和屏幕尺寸的变化进行切换。 作为iOS上最令人惊叹的功能之一,“自动布局”为您提供了一种绝佳的方式来管理与应用程序用户界面结合在一起的所有控件的位置和大小。 Auto Layout的灵活性为进行大量定制提供了方便,这些定制有助于提供完美的用户界面。 Auto Layout的最大优点之一是与许多应用程序编程接口(API)兼容,例如运动效果,动画和Sprite。

现在,一些步骤标记了使用自动布局来设计iOS应用程序的UI (Now, some steps that mark the usage of Auto Layout for designing UI of an iOS application)

步骤1-在Interface Builder中启用/禁用自动布局 (Step 1- Enable/Disable Auto Layout in Interface Builder)

Auto Layout feature comes enabled by default, both for the individual XIB files as well as the storyboard. On the contrary, for a situation wherein you need to enable it, all you need to do is simply follow the below steps:

默认情况下,自动布局功能已启用,适用于单个XIB文件和情节提要。 相反,对于需要启用它的情况,只需要做以下步骤即可:

  • Select the Main-storyboard file from the project navigator panel

    从项目导航器面板中选择Main-storyboard文件
  • Display the File Inspector panel by following the route: View-> Utilities-> Show File Inspector

    按照以下路线显示“文件检查器”面板:“查看”->“实用程序”->“显示文件检查器”
  • Select the checkbox named as: Use Autolayout

    选择名为的复选框:Use Autolayout

第2步-创建约束 (Step 2- Create a constraint)

In order to use the Auto Layout feature, you need to create a constraint using any one of the following two methods:

为了使用自动布局功能,您需要使用以下两种方法之一创建约束:

  • constraintsWithItem: attribute: relatedBy: toltem: attribute: multiplier: constant:

    ConstraintsWithItem:属性:relatedBy:toltem:属性:乘数:常数:
  • constraintsWithVisualFormat:options:metrics:views:

    ConstraintsWithVisualFormat:options:metrics:views:

For those of you who aren’t familiar with the concept of constraints, here’s an explanation. Constraints are linear equations which when coupled together flawlessly describe the layout of an iOS app’s user interface. All the constraints used in an app’s UI basically belong to the NSLayoutConstraint class which specifies the relationship between different view attributes including height, position, width and the centers.

对于那些不熟悉约束概念的人,这里有一个解释。 约束是线性方程,当它们耦合在一起时,可以完美地描述iOS应用程序用户界面的布局。 应用程序UI中使用的所有约束基本上都属于NSLayoutConstraint类,该类指定了不同视图属性之间的关系,包括高度,位置,宽度和中心。

Coming back to the topic of creating constraints, while creating them, you need to pay special attention to adjusting them on different layouts. Although a majority of constraints must be constructed on AnyWidth| Any Height layout, you can always use Storyboard preview to check if the constraints are positioning different Objects correctly or not. On detecting an incorrect positioning of a constraint, you can try adjusting it for other layouts including Compact Width|Regular Height, Compact Width| Any Height and many more.

回到创建约束的主题,在创建约束时,需要特别注意在不同布局上进行调整。 尽管大多数约束必须在AnyWidth |上构造。 在任何高度布局中,您始终可以使用情节提要预览来检查约束是否正确放置了不同的对象。 在检测到约束的错误定位时,您可以尝试将其调整为其他布局,包括“压缩宽度|常规高度”,“压缩宽度|”。 任何高度等等。

PS- For a UI element, you won’t be able to set the constraints from both, xib and in code. Here, you need to either use the xib approach or the coding approach for adding the desired constraints.

PS-对于UI元素,您将无法同时从xib和代码中设置约束。 在这里,您需要使用xib方法或编码方法来添加所需的约束。

步骤3-将UI元素组合在一起 (Step 3- Group the UI elements together)

With a large number of UI Objects occupying specific spaces within your layout, it is important for you to group them appropriately. Failure to group the UI objects may lead to their positioning in an distorted format.

由于大量的UI对象占据了布局中的特定空间,因此对它们进行适当的分组很重要。 无法对UI对象进行分组可能会导致它们以扭曲的格式定位。

A handy method of grouping UI objects inside a view is:

在视图内对UI对象进行分组的便捷方法是:

  • Select the elements that you intend to group

    选择要分组的元素
  • Now, go to Editor-? Embed In-> View

    现在,转到编辑器-? 嵌入->视图
  • Centralize the new superview of the UI Objects as per your specific preference

    根据您的特定偏好集中UI对象的新超级视图

结论 (Conclusion)

So, this is all from my side on creating intuitive UIs for iOS apps using Auto Layout feature. Hope you’d have followed the steps covered above. If you have any questions regarding the use of iOS’s Auto Layout feature, then please don’t hesitate in jotting down the same within the comments box provided right under this blog post.

因此,这全是我使用自动布局功能为iOS应用程序创建直观的UI的全部内容。 希望您已按照上面介绍的步骤进行操作。 如果您对使用iOS的自动版式功能有任何疑问,请不要犹豫,在此博客文章下方提供的评论框中写下相同的内容。

翻译自: https://www.script-tutorials.com/ios-app-ui-designing-it-using-autolayout/

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: