在快速的4 IOS应用程序中手动添加和引用控件

时间:2018-08-25 19:52:43

标签: ios swift xcode

关于Swift 4和构建iOS应用程序的NOOB问题

我开始学习开发iOS应用程序的快速方法 我来自.net和C#领域,所以我承认我已经习惯了不同的开发方式

我还没有学会所有合适的术语,所以请耐心等待。

我正在遵循 https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/ConnectTheUIToCode.html#//apple_ref/doc/uid/TP40015214-CH22-SW1

现在,我已按照代码将按钮和标签拖放到情节提要上

在指南中,它讨论了使用Ctrl +拖动创建对.swift文件中对象的引用

执行ctrl + Drop似乎很痛苦,所以我想做的就是在swift文件中手动创建引用

所以我在情节提要上放了一个新的UILabel和UIButton控件,设置了Identified值

然后在快速文件中,我尝试添加控件和触摸事件

@IBOutlet weak var labelOne: UILabel!
@IBOutlet weak var buttonOne: UIButton!

@IBAction func setLabelOneText(_ sender: Any) {
    labelOne.text = "Default Text";
}

即我基于Ctrl + Drop

放置在swift文件中的内容

但是什么都不起作用。

回到示例代码,然后我更新了工作按钮轻击事件,也更新了手动添加的标签文本,但这会引发错误。

是引用快速文件中的对象以Ctrl +将其拖放到快速文件中的唯一方法吗?来自C#世界,如果我将控件放到WPF应用程序中,我将能够在文件后面的代码中自动引用它,而不必担心能够访问该控件的其他步骤。

我正在使用最新版本的xcode和swift 4。

1 个答案:

答案 0 :(得分:2)

您要这样做吗?

@IBOutlet weak var labelOne: UILabel!
     override func viewDidLoad() {
        super.viewDidLoad()

        let tap = UITapGestureRecognizer(target: self, action: #selector(ViewController.tapFunction))
        labelOne.isUserInteractionEnabled = true
        labelOne.addGestureRecognizer(tap)
    }

    @objc func tapFunction(sender:UITapGestureRecognizer) {

        print("tap working")
    }