ios - Swift 中相同类型的同一行中的多个 IBOutlet

标签 ios swift xcode iboutlet

在 objective-c 中,您可以通过以下方式声明 IBOutlets:

IBOutlet UIButton *btn1, *btn2, *btn3;

并且您可以在 Storyboard中绑定(bind)这些按钮。

现在我想在 Swift 中使用相同的术语。我想在同一行中声明这 3 个按钮,而不是在 3 个不同的行中声明它们。我也可以使用以下方法在 Swift 中声明这些按钮:

@IBOutlet var btn1, btn2, btn3: UIButton!

但我的问题是我只能在 Storyboard中绑定(bind)“btn1”。 “btn2”和“btn3”没有出现在连接检查器中。

我不想使用 UIOutletCollection 类。

最佳答案

您有两种选择可以将它们放在一行中。

第一种是使用Referencing Outlet Collection,定义如下:

@IBOutlet var fields: Array<UITextField> = []

然后将您的文本字段链接到它。然后,您可以分别以 fields[0]fields[1] 的形式访问它们。

enter image description here

另一种选择是像这样在您的文件中定义它们:

@IBOutlet weak var emailField: UITextField!
@IBOutlet weak var passwordField: UITextField!

从 Interface Builder 建立连接,然后将声明编辑成一行,如下所示:

@IBOutlet weak var emailField: UITextField!, passwordField: UITextField!

关于你我恐怕只有选择。

关于ios - Swift 中相同类型的同一行中的多个 IBOutlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39213467/

相关文章:

ios - 取消与 iOS 中的按钮关联的展开操作

iphone - AVQueuePlayer 过早开始下一项

iphone - Xcode:iPhone 5 App Launch 图像未更新

ios - -[NSBundle pathForResource :ofType:inDirectory:] returns nil for localized resources

ios - 遵守 iOS 13 应用更新截止日期需要哪些更改

swift - 在选择器上显示警报选择 SwiftUI

swift - 如何使用 Swift 通过传递 URL 中的参数来上传图片?

swift - 当 iAd 横幅出现时,如何将 View 内容向上移动? (以 Swift 编程方式)

iphone - 用于下拉菜单的 UIPickerview

ios - openFrameworks for iOS 变成 Apple mach-O 链接器错误