相关疑难解决方法(0)

用swift编程语言隐藏文本字段的键盘

我对Objective-C的经验不多.我想使用Swift编程语言隐藏文本字段的键盘.

我也尝试过这个

func textFieldShouldReturn(textField: UITextField!) -> Bool // called when 'return' key pressed. return NO to ignore.
{
    return true;
}
Run Code Online (Sandbox Code Playgroud)

但是当我点击返回时,该方法不会被触发.有人有运气吗?

uitextfield ios swift

22
推荐指数
4
解决办法
7万
查看次数

在失去对uisearchbar的关注时辞职键盘

我正在我的应用程序的导航栏中创建一个UISearchBar选项.我的应用包含多个视图和子视图.我有这个主视图,其他3个观点.其中一个是空的(现在),另外两个有关于它们的表格视图.

当我正在进行实际搜索或者在uisearchbar外触摸/点击时,我希望我的键盘能够在我搜索和隐藏时显示.我根据需要使用searchbardelegate.

我可以通过以下方式使用[searchBar resignFirstResponder]隐藏键盘.

  • 当我按下返回键时.
  • 当我手动取消搜索时
  • 当我按任何键盘按钮进行搜索或取消时.
  • 当我触摸屏幕的空白部分时

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {    
        UITouch *touch = [[event allTouches] anyObject];
        if ([mySearchBar isFirstResponder] && [touch view] != mySearchBar) {
            [mySearchBar resignFirstResponder];
        }
        [super touchesBegan:touches withEvent:event];
    }
    
    Run Code Online (Sandbox Code Playgroud)

我似乎无法做的是让它回应我的2个表格中的一个.或者当我重新填充主视图以包含完全不同的东西时.

我曾尝试更改touchesbegan方法以在触摸tableviews时重新调整搜索栏,但它到目前为止还没有工作.

亲爱的朋友先生,我已经尝试了其他几件事.谷歌,但这似乎是我需要的其他东西.

任何人都有任何想法,我可以做些什么来解决这个问题?

编辑:看来这样,当使用断点时,touchesbegan-method会响应backgroundview但当我触摸其中一个tableviews或导航栏(包含uisearchbar)时它不会响应.

cocoa-touch objective-c uisearchbar uisearchbardelegate

7
推荐指数
1
解决办法
1万
查看次数

Swift 3.0如何在单击栏外部时关闭搜索栏上的键盘

如标题中所述,我有兴趣在搜索栏外单击时从搜索栏中取消键盘.类似的问题在touchesBegan中使用了self.view.endEditing(true),但我没有运气.我不确定我是否遗漏了其他任何东西,或者我是否正确设置了我的搜索栏.

import UIKit
import MapKit

class AddressVC: UIViewController {

    @IBOutlet weak var searchBar: UISearchBar!
    var searchCompleter = MKLocalSearchCompleter()
    var searchResults = [MKLocalSearchCompletion]()




    @IBOutlet weak var searchResultsTableView: UITableView!

    override func viewDidLoad() {
        super.viewDidLoad()

        searchBar.delegate = self
    // Do any additional setup after loading the view, typically from a nib.

        searchResultsTableView.isHidden = true

        searchCompleter.delegate = self
    }




extension AddressVC: UISearchBarDelegate {

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {

    searchCompleter.queryFragment = searchText
}

func searchBarShouldEndEditing(_ searchBar: UISearchBar) -> Bool {
    self.searchBar.endEditing(true)
    searchBar.resignFirstResponder() …
Run Code Online (Sandbox Code Playgroud)

uisearchbar uisearchbardelegate swift

2
推荐指数
1
解决办法
5619
查看次数