Swift:如何在UITableViewCell firstresponder中创建UITextView

时间:2015-10-21 19:30:41

标签: ios uitableview uitextview xcode7 swift2.1

我已经搜索过(迄今为止没有成功)这个问题的(可理解的)解决方案。我的应用程序使用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
}

1 个答案:

答案 0 :(得分:1)

假设您希望在加载后立即将此UITextView作为第一个响应者,您可以将以下代码放在自定义awakeFromNib类中的UITableViewCell方法内。< / p>

self.myTextView.becomeFirstResponder()

这样可以使光标在加载此单元格时自动进入myTextView,并且键盘也会出现。