将 UITextField 链接到 UITableViewCell 子类时出现问题
Troubling linking UITextField to UITableViewCell subclass
我正在创建一个视图控制器,它包含几个用于创建日志条目的不同字段。为此,我使用了带有静态单元格的分组 table 视图,如下所示:
在每个单元格中,我都添加了一个文本字段(其中包含占位符文本,如您在屏幕截图中所见)。对于第一个文本字段,我能够使用我创建的 UITableViewCell 的子class为其创建一个 IBOutlet,如下所示:
public class TextInputTableViewCell: UITableViewCell{
@IBOutlet weak var textField: UITextField!
}
但是,当我尝试对第二个单元格执行相同操作时,使用以下 class:
public class MultipleTextInputTableViewCell: UITableViewCell {
}
它不允许我使用控制点击,或者坦率地说任何其他方法,来为文本字段创建出口。我尝试在身份检查器中将单元格设置为 "MultipleTextInputTableViewCell" 的成员,但这并没有解决问题。我非常仔细地比较了这两种情况,没有发现任何差异,所以我真的很困惑为什么它不适用于第二个单元格。
编辑:
身份检查器要求我 post 单元格的属性。下面是截图:
如果一个和两个单元格都不是静态的,那么这是可能的。如果您使用的是静态单元格,则不能使用动态单元格。
我认为您应该使用动态原型单元而不是静态单元。它可能会解决您的问题:)
所以我解决了自己的答案,但是Stack Overflow再过两天不让我接受
据我所知,这是一个 Xcode 错误。
通过手动输入每个插座,然后将行计数器中的连接圈拖到每个文本字段,我能够连接它们。但是,我尝试了另一种方法(按住 option-click 从文本字段拖动到编写的代码),但仍然无效。我正在使用助理编辑器功能来执行此操作,因此问题可能出在这里。
编辑:
另外,我刚刚发现(在我发布这个问题后的几个小时后)实际上我接受的答案是你可以直接在持有 [= 的视图控制器中创建一个 @IBOutlet 22=] 查看您是否正在使用静态单元格。没有必要为每个单元格创建子类,我猜 Xcode 通过不允许它轻松连接来阻止它。这种连接是双向的,极大地简化了我的项目。但我想是我自己的荣誉。
我正在创建一个视图控制器,它包含几个用于创建日志条目的不同字段。为此,我使用了带有静态单元格的分组 table 视图,如下所示:
在每个单元格中,我都添加了一个文本字段(其中包含占位符文本,如您在屏幕截图中所见)。对于第一个文本字段,我能够使用我创建的 UITableViewCell 的子class为其创建一个 IBOutlet,如下所示:
public class TextInputTableViewCell: UITableViewCell{
@IBOutlet weak var textField: UITextField!
}
但是,当我尝试对第二个单元格执行相同操作时,使用以下 class:
public class MultipleTextInputTableViewCell: UITableViewCell {
}
它不允许我使用控制点击,或者坦率地说任何其他方法,来为文本字段创建出口。我尝试在身份检查器中将单元格设置为 "MultipleTextInputTableViewCell" 的成员,但这并没有解决问题。我非常仔细地比较了这两种情况,没有发现任何差异,所以我真的很困惑为什么它不适用于第二个单元格。
编辑:
身份检查器要求我 post 单元格的属性。下面是截图:
如果一个和两个单元格都不是静态的,那么这是可能的。如果您使用的是静态单元格,则不能使用动态单元格。
我认为您应该使用动态原型单元而不是静态单元。它可能会解决您的问题:)
所以我解决了自己的答案,但是Stack Overflow再过两天不让我接受
据我所知,这是一个 Xcode 错误。
通过手动输入每个插座,然后将行计数器中的连接圈拖到每个文本字段,我能够连接它们。但是,我尝试了另一种方法(按住 option-click 从文本字段拖动到编写的代码),但仍然无效。我正在使用助理编辑器功能来执行此操作,因此问题可能出在这里。
编辑:
另外,我刚刚发现(在我发布这个问题后的几个小时后)实际上我接受的答案是你可以直接在持有 [= 的视图控制器中创建一个 @IBOutlet 22=] 查看您是否正在使用静态单元格。没有必要为每个单元格创建子类,我猜 Xcode 通过不允许它轻松连接来阻止它。这种连接是双向的,极大地简化了我的项目。但我想是我自己的荣誉。