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



关于 swift 4 和构建 iOS 应用程序的菜鸟问题

我开始学习快速开发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 控件,设置了 已识别值

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

@IBOutlet weak var labelOne: UILabel!
@IBOutlet weak var buttonOne: UIButton!
@IBAction func setLabelOneText(_ sender: Any) {
labelOne.text = "Default Text";
}

即我基于从 Ctrl + Drop 代码放置在 swift 文件中的内容

然而,没有任何效果。

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

引用 swift 文件中的对象以 Ctrl + 将它们拖放到 swift 文件中的唯一方法是否是唯一的方法?由于来自 C# 世界,如果我将控件拖放到 WPF 应用上,我将能够在代码隐藏文件中自动引用它,而不必担心能够访问该控件的其他步骤。

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

你想这样做吗?

@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")
}

最新更新