我有一个自定义的静态UITableViewCell
,我希望它看起来与右侧详细单元格完全相同(左侧为UILabel
,右侧为UILabel
),但我想要右侧的UILabel
成为可编辑的UITextField
。由于我想在我的Storyboard中的多个视图控制器中使用此单元格,因此我决定最好的选择是创建一个名为MyEditableTableViewCell.xib的文件,以及相应的*.h,m文件。我在MyEditableTableViewCell.h中有两个公共属性:
@property (weak, nonatomic) IBOutlet UILabel *textLabel;
@property (weak, nonatomic) IBOutlet UITextField *detailTextField;
这些
IBOutlet
与.xib文件中的UILabel
和UITextField
相关联。在我的storyboard中,我有一个自定义的UITableViewController
子类,在必要的UITableViewCell
中更改类为MyEditableTableViewCell
。我在视图控制器中有一个属性:
@property (weak, nonatomic) IBOutlet MyEditableTableViewCell *myCell;
然而,当我运行应用程序时,该单元格仅显示为空白单元格。对其进行一些检查,发现 [myCell isKindOfClass:[MyEditableTableViewCell class]]
返回 true。然而,UITextField
似乎从未被实例化。当我尝试更改myCell.detailTextField.text
时,什么也不会发生,而myCell.detailTextField
看起来是 nil。希望能得到任何帮助!
UITableView
是静态的。dequeueReusableCellWithIdentifier:
从未被调用,也没有任何UITableViewDataSource
方法被调用。MyEditableTableViewCell
直接放置在故事板中的UITableView
中。我确实需要在我的视图控制器中拥有IBOutlet
属性,以便在运行时编辑其文本。 - sethfri