在 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]
的形式访问它们。
另一种选择是像这样在您的文件中定义它们:
@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/