Tag: 熨斗学校

iCarousel演练-Swift 3.0

什么是轮播? 该框架的思想是以令人印象深刻且流畅的方式移动和呈现数据。 —向GitHub的nicklockwood大喊大叫 。 让我们开始吧。 克隆github链接上提供的iCarousel文件,并将其保存到桌面。 尼克洛克伍德/ iCarousel iCarousel –适用于iOS和Mac OS的简单,高度可定制的,数据驱动的3D旋转木马 github.com 2.创建一个新的XCode项目> Single View Application。 3.从下载的iCarousel文件中,将iCarousel.h和iCarousel.m复制并粘贴到您的项目中。 确保单击“创建桥接头”,这将自动配置桥接以使两种语言都可以访问类。 4.在-Bridging-Header.h文件中,我们需要输入 #import “iCarousel.h” 这将使我们能够使用iCarousel框架中的所有文件。 5.为了使用iCarousel框架,我们需要在Build Phases > Link Binary with Libraries添加QuartzCore.framework 。 现在,所有文件都已设置。 现在,我们可以进行代码编写和设置故事板。 以编程方式设置iCarousel的方法与TableViews和CollectionViews几乎相同。 6.转到情节提要。 在View Controller场景中,选择View并在Identity Inspector中更改自定义类,然后将其设置为iCarousel 。 7.打开助手编辑器。 我们需要从Carousel视图到View Controller建立IBOutlet连接。 8.像我们如何设置TableViews和CollectionViews一样,我们需要在ViewController文件和情节提要板上设置delegate和dataSource 。 9.因为我们说过我们的ViewController有一个iCarouselDataSource协议。 我们需要遵守这些协议,在其中我们需要在ViewController中执行这些功能。 10.在示例代码中,我希望轮播显示狗的图像。 让我们继续看一下代码是如何工作的。 创建一个空数组,将保存狗的图像。 var images = [UIImage]() 11.调用函数carousel(viewForIndexAt:reusing:), numberOfItems(in:) and […]

使用Swift 3.0建立倒数计时器

在这里,您将看到如何使用Swift 3.0为iOS构建一个简单的计时器。 我假设您对Swift编程语言,Xcode和Storyboard有基本的了解。 如果您需要基础知识方面的帮助或在情节 提要中 设置UI,请访问 www.raywenderlich.com, 以获得一些很棒的初学者教程。 计时器类 我们将使用Apple提供的Timer类。 在文档中定义了一个计时器,如下所示: “计时器等待直到经过一定的时间间隔,然后触发,将指定的消息发送到目标对象。” “例如,您可以创建一个 Timer 对象, 该 对象将消息发送到窗口,告诉窗口在一定时间间隔后进行更新。” 创建Timer类的目的是使它易于在特定时间触发动作(例如更新标签或触发方法)。 建立计时器 创建一个新的“ Single View Application”,为其命名,并将语言设置为Swift。 在情节提要中新建一个视图控制器,或使用预先存在的默认视图控制器。 添加标签。 (此标签将显示开始时间以及以秒,分钟和小时为单位的倒计时。) 添加三个按钮:“开始”,“暂停”和“重置”。 我的初始设置如下: 注意:在标签中设置为占位符文本的内容无关紧要,因为我们将在代码中提供标签文本。 我使它看起来像一个计时器,但它的工作原理与“标签”一词一样好。 但是,您为标签设置的字体将在程序运行时显示。 我选择Courier New,因为它是等距的(所有字母/数字都相同的宽度),并且不会随着数字递减而四处移动。 3.将标签和按钮从情节提要板连接到视图控制器类。 快捷方式:要从Storyboard中的助手编辑器中打开View Controller文件,请按住Option,然后在左侧的Navigation inspector / menu中单击类文件。 我假设您知道如何将标签和按钮连接到适当的类。 4.接下来离开情节提要,转到“视图控制器”类。 在timerLabel出口下,创建以下变量: var seconds = 60 //此变量将保留秒的起始值。 它可以是大于0的任何数量。 var timer = Timer() var isTimerRunning = […]

插座系列

在Flatiron School的iOS沉浸式课程的第二周,我几乎快要结束了。 当涉及到我的环境时,我一直认为自己是一个悠闲的家伙。 但是,在纽约待了一个多星期之后,我意识到我肯定是100%认证的整齐怪胎! 因此,当我在Xcode的Interface Builder: Outlet Collections中工作时遇到一个有趣的选择时,我的想象力被激起了,这并不奇怪。 到目前为止,我们主要使用IBOutlet构建了noob应用程序,这已经足以满足视图中相对较少数量的对象的需求。 但是,在第一天创建Tic Tac Toe应用程序时,我的朋友Will Robinson建议我们使用插座集合来管理众多按钮标签和操作。 插座集合使对象的状态更改(例如颜色,文本内容,隐藏状态等)更易于编码。 例如,在我合作的TicTacToe应用程序中,为网格的每个部分提供9个单独的按钮比为网格的每个部分提供9个单独的按钮要干净得多。 我们今天不会制作TicTacToe。 取而代之的是,我们将把一些标签放在一起作为Outlet Collection进行操作,以便快速分享它们的潜力。 首先,我们需要创建一个插座集合。 如果您想继续使用Xcode,建议您至少在两行中放置一些标签,因为这将有助于说明插座集合创建其初始顺序的方式。 即,集合的初始项目顺序是您添加它们的顺序。 因此,一旦在多行中创建了标签,请确定将标签添加到集合中的顺序。 我将从左到右,从上到下。 Ctrl将第一个标签拖动到View Controller.swift中。 系统将提示您选择一些选项并命名您的插座。 首先,确保选择连接类型为“ 插座集合”。 这将允许您向收藏夹添加其他标签。 创建您的Outlet Collection后,您将要开始将其余标签添加到该Collection中。 为此,您可以将集合的IBOutlet旁边的连接圈一次拖到情节提要中的每个标签上。 同样,我从左到右,从上到下进行了此操作。 ( 注意:在Swift 3.0中,UILabel集合可以访问类似数组的方法,因此可以使用.remove和.insert等方法来访问和操纵成员标签的位置。想想所有的程序化组织能够做到!) 现在,我们将如何控制这些标签? 简单! 由于我们已按照特定顺序将它们添加到集合中,因此我们可以根据该顺序引用它们! 例如,可以根据您在标签中放置标签的顺序(通过labelGroup [0] = Label1,labelGroup [1] = Label2,依此类推)通过labelGroup [index]来操作我的标签。 您可以通过放置几个打印命令并在ViewDidLoad()中设置labelGroup [0] =“ Hi!”来验证这一点。 现在,当我运行此应用程序时,我可以看到在日志中打印了可选字符串: ( 注意:请注意,我的日志仅显示打印行。如果您要这样做,请执行以下操作: 单击以下菜单: […]