相关疑难解决方法(0)

键盘解除后,将inputAccessoryView保持可见状态

我想要做的是在iPad上的Safari中创建类似于"在页面上查找"搜索功能的东西.

我使用的是UIToolbar与在它的一些项目,并通过将其设定为它连接到键盘inputAccessoryViewUITextField.像魅力一样,但有一件事我无法弄清楚.在Safari中,当您搜索某些内容时,键盘会消失,但工具栏仍保留在屏幕底部.

有没有人知道如何做到这一点?我能想到的唯一解决方案是响应键盘解除事件,然后拉出UIToolBar并创建一个自定义动画,将其移动到屏幕底部.但这很黑.我正在寻找一个更优雅的解决方案.当键盘被解除时,可以让我决定如何处理输入附件视图.

user-interface uitoolbar uikeyboard ios

32
推荐指数
3
解决办法
8427
查看次数

使用滑动手势关闭键盘(如在消息应用程序中)

当键盘显示在iPhone的消息应用程序上时,如果用户从消息表视图开始向下滑动并继续进入键盘区域,键盘将开始关闭.如果他们在此过程中上下移动手指,键盘会随之移动.

Apple是否使用私有API执行此操作,或者是否有一种方法可以控制键盘(我假设)手势识别器?

iphone uitableview uiresponder uigesturerecognizer ios

30
推荐指数
5
解决办法
2万
查看次数

如何使用swift将属性重新声明为UIResponder子类中的读写?

我正在尝试按照本指南,但使用swift: InputAccessoryView停靠在底部

我似乎无法为我的ViewController设置inputAccessoryView,根据文档,我需要重新声明它:

此只读属性的值为nil.如果要将自定义控件附加到系统提供的输入视图(例如系统键盘)或自定义输入视图(您在inputView属性中提供的视图),请在UIResponder子类中将此属性重新声明为read-write.然后,您可以使用此属性来管理自定义附件视图.当接收器成为第一响应者时,响应者基础结构在显示它之前将附件视图附加到适当的输入视图.

我无法弄清楚如何使用swift来做到这一点.任何帮助是极大的赞赏.

uiview uiresponder ios swift ios8

9
推荐指数
1
解决办法
787
查看次数

如何在Storyboard设计中创建accessoryInputView?

我正在尝试创建一个accessoryInputView来增加键盘的一些应用程序特定的键.

我正在使用基于Storyboard的设计方法来保持UI与应用程序逻辑分离.

我似乎无法理解如何创建新视图并将其与textView相关联.可能吗?

storyboard accessoryview ios

7
推荐指数
2
解决办法
2486
查看次数

使用TextField使UIToolbar向上移动键盘

我有一个带有TextField和Button作为UIBarButtonItem的UIToolbar.当用户点击工具栏内的TextField时,我正在尝试将此工具栏用作键盘的inputAccessory.

在此输入图像描述

我发现这个问题试图解决同样的问题.不幸的是,解决方案无效.

我正在尝试的是:

class ChatViewController: UIViewController, CLLocationManagerDelegate, UITableViewDelegate, UITableViewDataSource {

    @IBOutlet weak var chatTableView: UITableView!
    @IBOutlet weak var chatToolbar: UIToolbar!

    @IBOutlet weak var textFieldBarButtonItem: UIBarButtonItem!

    override func viewDidAppear(animated: Bool) {
        super.viewDidLoad()
        self.chatTableView.delegate = self
        self.chatTableView.dataSource = self
        self.chatToolbar.removeFromSuperview()

    }

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

    override func canBecomeFirstResponder() -> Bool {
        return true
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{

        let cell = UITableViewCell()
        return cell
    }

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) …
Run Code Online (Sandbox Code Playgroud)

xcode ios swift

3
推荐指数
1
解决办法
4268
查看次数