我已经搜索过(迄今为止没有成功)这个问题的(可理解的)解决方案。我的应用程序使用UITableViews与包含UITextViews的单元格。我希望能够选择UITextView而不是底层单元格。我知道我需要让它成为第一个响应者,但却无法知道如何做到这一点。我正在使用Swift 2。
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath:NSIndexPath)
{
switch (getTipsInfo(viewName, sectionNumber: indexPath.section, tipOrder: indexPath.row).tipType) {
case "URL":
defaults.setObject(getTipsInfo(viewName, sectionNumber: indexPath.section, tipOrder: indexPath.row).tipLinkName, forKey: "URL")
myStack.push(getViewNC(viewName))
let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc : UIViewController = storyboard.instantiateViewControllerWithIdentifier(browserNC)
self.presentViewController(vc, animated: true, completion: nil)
case "link":
let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
myStack.push(getViewNC(viewName))
let vc : UIViewController = storyboard.instantiateViewControllerWithIdentifier(getTipsInfo(viewName, sectionNumber: indexPath.section, tipOrder: indexPath.row).tipLinkName)
self.presentViewController(vc, animated: true, completion: nil)
default:
()
} // end switch
}
答案 0 :(得分:1)
假设您希望在加载后立即将此UITextView
作为第一个响应者,您可以将以下代码放在自定义awakeFromNib
类中的UITableViewCell
方法内。< / p>
self.myTextView.becomeFirstResponder()
这样可以使光标在加载此单元格时自动进入myTextView
,并且键盘也会出现。