cari

Rumah  >  Soal Jawab  >  teks badan

swift - IOS inputAccessoryView和canBecomeFirstResponder

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

大家讲道理大家讲道理2773 hari yang lalu722

membalas semua(1)saya akan balas

  • 黄舟

    黄舟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
    }

    balas
    0
  • Batalbalas