具有在IB中创建的自定义视图的InputAccessoryView

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

我已经阅读了很多有关此主题的材料,但是大多数都以编程方式创建自定义视图。

是否可以将InputAccessoryView与IB中创建的自定义视图一起使用?在情节提要中,我添加了textInputView,在其中添加了文本视图和发送按钮,如下面的屏幕快照所示。

我正在跟踪代码,出于某种原因该代码删除表视图,因此无法正常工作。我在情节提要中添加了tableview。

这里只显示了与InputAccessoryView相关的代码。

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...
}

[左屏幕快照是带有附件视图代码的,不显示表格视图。如果我注释掉与附件视图相关的代码,它的确会在右侧屏幕截图中显示表格视图。

enter image description here

ios swift tableview inputaccessoryview
1个回答
0
投票

似乎您可能将UITableView的底部限制为textInputView的顶部。当您将textInputView设置为inputAccessoryViewUIViewController时,此功能将无法正常工作。将textInputView设置为inputAccessoryView时,请确保将UITableView的底部限制为UIViewControllerview的底部。

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