将重点放在TVOS上的TableViewCell中的UITextField

时间:2015-10-23 06:05:29

标签: uitableview uitextfield tvos

在我的AppleTV应用程序中,我有一个带有UITextField的自定义UITableViewCell。

我想要实现的是能够将此文本字段集中在其中输入文本。

不幸的是,只有细胞本身聚焦,我无法对文本区域进行聚焦。

由于

2 个答案:

答案 0 :(得分:3)

该单元格正在变得专注,因为它从YES返回canBecomeFocused。如果您希望单元格内的某些内容成为焦点,则单元格需要从该方法开始返回NO。有两种方法可以做到这一点:使用表视图委托方法,或通过子类化UITableViewCell

在表格视图的委托中,您可以为包含文本字段的单元格实施方法tableView:canFocusRowAtIndexPath:并返回NO

或者,在UITableViewCell的子类中,您可以覆盖canBecomeFocused以返回NO

答案 1 :(得分:1)

将UITableViewCell子类化,并将单元格的preferredFocusedView设置为UITextField。

@interface TableViewCell : UITableViewCell
@property (nonatomic, weak) IBOutlet UITextField *textField;
@end

@implementation TableViewCell
...
- (UIView*)preferredFocusedView {
  return self.textField;
}