美文网首页
02.swift5-UIKIT and autoLayout

02.swift5-UIKIT and autoLayout

作者: 北落师门_ | 来源:发表于2020-04-24 23:16 被阅读0次

    本内容由康奈尔大学IOS开发第二章官方笔记翻译而来,其官网为 https://ios-course.cornellappdev.com/

    UIKIT,是一个框架,为开发人员提供创建IOS应用程序所需的基本组件,一些常用组件:

    UIButton, UILabel, UITextField, UIImageView, UITableView, UICollectionView, UIView

    UIColor, UIFont, UIGestureRecognizer

    UIViewController

    View对象,像UIImageView,UIButton,UILabel,UITexField,都是它的子类

    ViewController,是应用程序的屏幕,维护具有subviews的层级结构,每个app都至少有一个viewcontroller填充他们的主窗口,也就是rootViewController

    在iOS开发中,有多种方法可以将视图布局到屏幕上,一些例子包括基于框架的、故事板和编程式自动布局。基于框架的布局包括为每个视图指定原点、宽度和高度。然而,正如您可能想象的那样,使用基于框架的布局可能会很麻烦。为什么?嗯,iPhone设备有各种不同的尺寸(有些可能更宽,有些可能更高),当你的x-y坐标系根据设备而改变时,用坐标来放置视图会让你做很多不必要的计算。故事板是一种使用界面构建器创建视图的方法。界面构建器允许您通过简单地将视图拖到上面来创建和布局视图(因此不涉及任何代码)。虽然这对于开发小型、快速的演示应用程序可能很有用,但是使用故事板开发大规模的应用程序是极其灾难性的,因为没有任何形式的可重用性,并且对复杂的应用程序进行更改会花费很多时间。更不用说,带有版本控制系统的故事板是可怕的。最后一种方法,也是您将在本课程中学习的方法是编程自动布局。

    什么是自动布局?

    自动布局是一种布局视图的方法。自动布局适用于所有设备尺寸和方向,而不用担心屏幕上所有东西的坐标。因此,这是一种更可靠的表达观点的方式,也包含了更少的深入思考,帮助我们更经常地避免错误。

    自动布局是根据锚点来计算的,每个view都有锚点(anchors)

    anchors

    UIView的每个子视图都有这四个属性:topAnchor、leadingAnchor、bottomAnchor和trailingAnchor。顾名思义,topAnchor是指视图的上边缘,leadingAnchor是指视图的左边缘,bottomAnchor是指视图的下边缘,trailingAnchor是指视图的右边缘。要记住的一个重要事项是,为了让我们使用这些锚点来创建约束(布局我们的视图),我们必须记住在设置这些锚点之前,将视图的translateseauteresizingMaskinToConstraints属性设置为false。我们如何使用这些锚点来布局我们的视图?让我们举个例子。假设我们有两个标签,label A和label B,我们想把label B做成labelA右边20像素。我们会这样做:

    这里是不采用main.stroyboard的方式运行程序而是采用代码布局,除了前文的原因外,根据康奈尔大学的讲师解释,多人协作开发如果共用main.storyboard非常容易产生冲突,所以采用代码布局,这里介绍的代码布局是自动布局。那么删除main.storyboard在本文集的另一篇文章中有提及,这里不再反复拷贝。

    接下来给出自动布局的一个部分实例截图,代码可以在https://github.com/JUSTLOVELE/MobileDevStudy/tree/master/swift_case/cornell 查阅,如果有帮助的话欢迎start.

    相关文章

      网友评论

          本文标题:02.swift5-UIKIT and autoLayout

          本文链接:https://www.haomeiwen.com/subject/hcjcwhtx.html