IOS inputAccessoryView和canBecomeFirstResponder

图片描述

第一个问题:inputAccessoryView通过计算属性改变了toolBar的位置,为什么直接把toolBar变成了inputAccessoryView的子视图,而不是self.view的子视图呢
第二个问题:canBecomeFirstResponder一旦变成true为啥inputAccessoryView就会默认出现呢,为啥不用写inputAccessoryView.becomeFirstResponder
第三个问题:toolBar和textView同样背景色都是黑色,为什么toolBar展现出来就变成灰色了,怎么让它变成黑色
附加问题:如果textView自适应行数后变大,如何让toolBar和inputAccessoryView都自适应变大呢,类似于QQ的聊天输入框,请给个思路,当然有代码更好啦 ^_^
小弟初学,请大神们不吝赐教

阅读 3.7k
1 个回答

1.get的时候return toolbar, 系统取inputAccessoryView的时候值就为toolBar,个人没太理解题主的第一个问题,建议试一下用didSet?
2.inputAccessoryView为nil时不自动出现,其他情况下随键盘自动出现
3.可以在运行时用Xcode的Debug → View Debugging → Capture View Hierarchy观察一下视图
4.textView自适应

private func heightForString(textView: UITextView, width: CGFloat) -> CGFloat {
        let sizeToFit = textView.sizeThatFits(CGSize(width: width, height: CGFloat(MAXFLOAT)))
        return sizeToFit.height
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题