InputAccessoryView用键盘上下移动表格视图,交互式显示隐藏。

问题描述 投票:0回答:1

我一直在查看各种关于如何在使用InputAccessoryView时用键盘交互式移动表视图updown的教程,但我没有找到任何解决方案。大多数的解决方案都建议使用键盘通知,这对我来说违背了使用InputAccessoryView的目的。我开始使用InputAccessoryView只是为了避免kb通知,因为使用kb通知很难实现拖动来交互式删除键盘。

我们如何用InputAccessoryView上下移动表视图?任何提示都可以,因为我已经知道如何使用kb通知来上下移动表格视图。

故事板设置-> https:/i.stack.imgur.com0QJyn.png

屏幕录制-&gt。https:/imgur.comaS5Oi9VS

相关代码的片段

class InputAccViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

    @IBOutlet weak var tableView: UITableView!
    @IBOutlet weak var textView: UITextView!
    @IBOutlet weak var textInputView: UIView!
    // other code

    override var canBecomeFirstResponder: Bool { return true }

    override var inputAccessoryView:UIView {
       get{
           return self.textInputView
       }
   }

    override func viewDidLoad() {
        super.viewDidLoad()

        textInputView.removeFromSuperview()
        // other code
    }
     // other code tableview delegates etc...
}
ios swift tableview inputaccessoryview
1个回答
0
投票

当面对同样的问题时,我发现了一个简单的解决方案,对我来说是有效的。我把它放在这里,以便对其他人也有帮助。我所做的只是把 UIViewController 附带 UITableView 四面楚歌 UIView 子类 view 只需 UITableViewController 并使用 tableView 是在内置到它来填充数据。键盘功能上面的所有移动内容都是内置到了这个软件中。UITableViewController. 由于我是通过程序化的方式来做布局的,所以我很容易就能尝试这个方法,并使之成功。你似乎是通过故事板来完成的,你自己试试这个,你会对结果感到欣慰的。到了最后,你的代码应该是这样的。

class InputAccViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
    @IBOutlet weak var tableView: UITableView!

到这个

class InputAccViewController: UITableViewController {
    // `@IBOutlet weak var tableView: UITableView!` removed
}

© www.soinside.com 2019 - 2024. All rights reserved.