在我的AppleTV应用程序中,我有一个带有UITextField的自定义UITableViewCell。
我想要实现的是能够将此文本字段集中在其中输入文本。
不幸的是,只有细胞本身聚焦,我无法对文本区域进行聚焦。
由于
答案 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;
}