ios - 单击 Swift 按钮以显示带有工具栏 View 的键盘

标签 ios swift

在我的场景中,我正在尝试使用 Swift 实现带有工具栏 View 的键盘。在这里,每当我单击按钮时,我都需要在不使用 TextView 或文本字段的情况下显示带有工具栏 View View 的键盘。

下面是我正在使用的代码

只需将 UIView 拖到当前 ViewController 栏的顶部

I declared below code for IBOutlet

@IBOutlet private var toolbarView: UIView!
@IBOutlet private var textView: UITextView!

In ViewDidload I used below code

override func viewDidLoad() {
        super.viewDidLoad()

        textView.inputAccessoryView = toolbarView
    }

In Button action now I am calling like below

@IBAction func CircleClick(_ sender: Any) {
        self.textView.becomeFirstResponder()
    }

Image

最佳答案

  1. 您需要为 textfield 定义一个 outlet 以引用它。

    @IBOutlet weak var textfield:UITextField!
    
  2. 您可以通过在 UITextfield 对象上调用 becomeFirstResponder() 来激活任何文本字段。

    textfield.becomeFirstResponder()
    
  3. 您可以在UIButton 的任何action 的IBAction 中调用此函数。

    @IBAction func btnShowKeyboardClicked(){ 
    
        textfield.becomeFirstResponder()
    }
    
  4. 要将自定义工具栏维护为附件 View ,您需要将其设置为文本字段对象。首先从代码创建自定义工具栏 View 或使用 XIB 加载,并将其分配给文本字段的 inputAccessoryView。

    let customInputAccessoryView =  CustomView() // Load from XIB or from Code
    
    textfield.inputAccessoryView = customInputAccessoryView
    

关于ios - 单击 Swift 按钮以显示带有工具栏 View 的键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57252975/

相关文章:

ios - SKSpriteNode 在场景脱落时不删除

ios - 使用委托(delegate)模式的选择器无效

ios - 在 Firestore 中使用降序时间戳进行分页

ios - 我是否需要添加静态库中的所有框架?

ios - 使用Core电话的iPhone手机号码

ios - 在 tvOS 应用程序中使用 iOS 框架

swift - 使用Vapor 3创建和使用游标

uitableview - Swift:无法从 UIViewController 转到 UITableViewController

swift - 无法快速访问在 UITableviewcontroller 函数外声明的变量

arrays - 如何对日期数组使用排序函数?