热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

IOS9:如何在iOS9中创建StackView

作者:ArthurKnopper,原文链接,原文日期:2015-09-14译者:小铁匠Linus;校对:numbbbbb;定稿:小锅在iOS9之前,即使是创建相对简单的用户

作者:Arthur Knopper,原文链接,原文日期:2015-09-14
译者:小铁匠Linus;校对:numbbbbb;定稿:小锅

在 iOS 9 之前,即使是创建相对简单的用户界面(User Interface),也需要在使用自动布局(Auto Layout)时添加大量的约束(Constraint)。在 iOS 9 中,苹果官方引进了 Stack View,它会为每个新增的子视图自动添加自动布局的约束。在本教程中,我们会创建一个包含三个子视图的纵向 Stack View。本教程使用 Xcode 7 和 iOS 9 实现。

打开 Xcode 并创建 Single View Application,product name 填写 IO9StackViewTutorial,然后填好 Organization Name 和 Organization Identifier,Language 选择 Swift,Devices 选择 iPhone,具体设置如下图。

最后,再拖一个 Button,并放在 Image View 下面。双击该 Button 并设置 title 为 “Start Coding”。Storyboard 如下图所示。

按住 Ctrl 键并选择主视图里的三个控件,点击 Storyboard 右下角的 Stack View 按钮,如下图。

此时,Stack View 已经创建好了,唯一要做的事情就是设置自动布局约束(Auto Layout Constraints)。点选 Stack View 后点击 Pin 按钮,并设置 top constraint 为 50,点击”Add 1 Constraint”,如下图。

点击 Align menu 按钮,并选择”Horizontally in Container”,点击”Add 1 Constraint”,如下图。

按上面的步骤操作后,可能需要更新 frame,点击”Resolve Auto Layout Issues”按钮,然后再点击”Update Frames”,如下图。

可以在 Stack View 里改变子视图之间的间距(spacing)。选择 Stack View 然后切换到 Attribute Inspector 选项卡,修改 Spacing 的值为 20,如下图。

编译并运行工程。在模拟器里旋转设备,可以看到 Stack View 能很好地适应不同方向。

你可以在 Github 下载 IO9StackViewTutorial 工程的源代码。


推荐阅读
  • [译]  OS X 和 iOS 的测绘框架Core Plot 入门教程
    [译] OS X 和 iOS 的测绘框架Core Plot 入门教程 ... [详细]
  • 导读:本文来自SwiftGG翻译组,作者@walkingway基于苹果Swift官方博客中TedKremenek所撰写的“Swift2.2Released!”文章进行了关于Swift2. ... [详细]
  • 项目地址:github.comDanie1sDNS…DNSPageViewDNSPageView一个纯Swift的轻量级、灵活且易于使用的pageView框架 ... [详细]
  • 在Swift 3中,默认情况下不自动关闭转义闭包的原因是为了避免潜在的内存管理和生命周期问题。明确使用“self”则是为了提高代码的可读性和安全性,确保开发者清楚地意识到闭包捕获了外部变量,从而避免意外的引用循环和资源泄漏。 ... [详细]
  • iOS开发 - 解决导航栏子视图损坏问题
    本文介绍了一个在Xcode 5.0.2和iOS 7模拟器环境下,使用Storyboard创建CoreData CRUD应用时遇到的导航栏子视图损坏问题及其解决方案。 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 实验九:使用SharedPreferences存储简单数据
    本实验旨在帮助学生理解和掌握使用SharedPreferences存储和读取简单数据的方法,包括程序参数和用户选项。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 在Android开发中,实现多点触控功能需要使用`OnTouchListener`监听器来捕获触摸事件,并在`onTouch`方法中进行详细的事件处理。为了优化多点触控的交互体验,开发者可以通过识别不同的触摸手势(如缩放、旋转等)并进行相应的逻辑处理。此外,还可以结合`MotionEvent`类提供的方法,如`getPointerCount()`和`getPointerId()`,来精确控制每个触点的行为,从而提升用户操作的流畅性和响应性。 ... [详细]
  • PyThon_Swift 势必取代 Python?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Swift势必取代Python?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 我正在尝试使SwiftUI中的按钮在文本旁边显示图像。但是,即使不在按钮中时图像 ... [详细]
  • 求大神解决问题~谢谢了
    电脑系统从10.11升级到10.11.4真机就运行不了,其他项目都可以,就这个git上的项目不可以,一直报这个错误 ... [详细]
author-avatar
叫我刘大贱
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有