搜尋

首頁  >  問答  >  主體

swift - IOS inputAccessoryView和canBecomeFirstResponder

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

大家讲道理大家讲道理2773 天前729

全部回覆(1)我來回復

  • 黄舟

    黄舟2017-04-17 17:35:30

    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
    }

    回覆
    0
  • 取消回覆