创建多个 Outlet 教程
为多个对象创建多个 Outlet 是比较费时费力的一件事情。而且多个对象也可能共享同一个的 Outlet。在本教程中,我们将会根据按钮的 tag 值来创建多个 Outlet。本教程使用 Xcode 7.2 作为开发工具,使用 Swift 2.1 和 iOS 9 进行构建。 打开 Xcode 并新建一个 Single View Application。Product Name 项填写 IOS9MultipleOutletsTutorial,然后填写你的 Organization Name 和 Organization Identifier。Language 项选择 Swift,并且确保 Devices 项只选择了 iPhone。
打开 StoryBoard 并从 Object Library 拖一个按钮到主视图的左上方。打开 Attribute Inspector(属性检查器)并将 View 的 Tag 设为 10。
复制此按钮,并将该按钮放置于和第一个按钮相同一行的主视图右上角位置,该按钮和第一个按钮具有相同的 Tag。
选中主视图然后点击 Interface Builder 右下角的 Resolve Auto Layout Issues 按钮。选择 All Views 中的 Reset to Suggested Constraint 这一选项。
打开文件 ViewController.swift 并将方法 viewDidLoad 改为如下代码块所示: override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view,typically from a nib. for subview in view.subviews where subview.tag == 10 { let button = subview as! UIButton button.addTarget(self,action: "changeColorRed:",forControlEvents: .TouchUpInside) } for subview in view.subviews where subview.tag == 20 { let button = subview as! UIButton button.addTarget(self,action: "changeColorGreen:",forControlEvents: .TouchUpInside) } } 这里的 subview 属性可以用于遍历主视图的子视图。每个按钮都根据 tag 值的不同添加了一个相应的 target。接下来,我们需要实现 target 方法: func changeColorRed(sender: AnyObject) { let button: UIButton = sender as! UIButton button.tintColor = UIColor.redColor() } func changeColorGreen(sender: AnyObject) { let button: UIButton = sender as! UIButton button.tintColor = UIColor.greenColor() } 当选中按钮时,按钮的颜色会随之改变。__构建并运行__项目,接下来我们就点击按钮来更改这些按钮的颜色了。
你可以从 ioscreator 的 GitHub 下载 IOS9MultipleOutletsTutorial 的源码。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |