标签: uisearchbardelegate

当我在Swift上按下搜索栏时如何让键盘解除?

我尝试在swift上创建我的搜索栏,但是当我按下搜索栏时,我有一个问题就是在屏幕上关闭键盘.当我尝试使用textfield时,它可以很好地使用此代码.

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        self.view.endEditing(true)
    }   
Run Code Online (Sandbox Code Playgroud)

当我按下我的文本字段然后键盘消失时,它工作.我想用我的搜索栏制作这样的东西,因为当我使用搜索栏并使用与textfield相同的方式时,它根本不起作用.任何参考或代码对我都非常有用.

keyboard uisearchbar uisearchbardelegate searchbar swift

45
推荐指数
8
解决办法
4万
查看次数

UISearchbar clearButton强制键盘出现

我有一个UISearchBar,它充当表视图的实时过滤器.当键盘通过endEditing:解除时,查询文本和灰色圆形"清除"按钮保持不变.从这里,如果我点击灰色的"清除"按钮,键盘会在文本被清除时重新出现.

我该如何防止这种情况?如果键盘当前未打开,我希望该按钮在不重新打开键盘的情况下清除文本.

当我点击清除按钮时,会调用一个协议方法.但是向UISearchBar发送resignFirstResponder消息对键盘没有任何影响.

iphone keyboard appearance uisearchbar uisearchbardelegate

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

不调用searchBarCancelButtonClicked委托方法.有什么方法可以打电话吗?

UIViewController用于实现放置UITableView UISearchBar并正在实现的视图.但你不能调用searchBarCancelButtonClicked.不知道是什么原因.

iphone uisearchbar uisearchbardelegate

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

你如何用动画隐藏/显示UISearchBar的范围栏?

我想在表空(在第一次编辑搜索栏之前)时不显示范围栏,在编辑时没有范围栏,最后在编辑完成时显示它.我知道UISearchBarDelegate协议,但我不知道如何用动画显示/隐藏范围栏.我知道UISearchBar有setShowsScopeBar:,但没有setShowsScopeBar:animated:办法setShowsCancelButton:animated.

编辑[searchBar sizeToFit]显示/隐藏范围栏后 调用非常重要.有没有一个很好的方法来动画这个?(我应该做这个?这似乎并没有工作.)

iphone animation uisearchbar uisearchbardelegate

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

tvOS:无论如何都要阻止搜索键盘在滚动时崩溃?

所以我有一个标准设置,用于在我的tvOS应用程序中设置搜索视图.

let storyboard = UIStoryboard(name: "Main", bundle: nil)
guard let resultsController = storyboard.instantiateViewControllerWithIdentifier(SearchResultsViewController.storyboardIdentifier) as! SearchResultsViewController

let searchController = UISearchController(searchResultsController: resultsController)
searchController.searchResultsUpdater = resultsController
searchController.hidesNavigationBarDuringPresentation = false
searchController.searchBar.placeholder = NSLocalizedString("Enter keyword (e.g. iceland)", comment: "")

let searchContainer = CustomUISearchContainerViewController(searchController: searchController)
Run Code Online (Sandbox Code Playgroud)

当推入导航堆栈时,这是一个视图,其顶部有搜索栏,下面的结果如下所示

在此输入图像描述

因此,每当结果很大并且我必须滚动键盘时,只要我向上滚动并向上滑过最顶端的结果,键盘就会折叠并再次展开.有什么方法可以防止这种行为吗?我只是希望它一直保持开放状态.我想的可能是子类化UISearchController,但我不确定在那里甚至可以替换

uisearchbardelegate apple-tv swift uisearchcontroller tvos

16
推荐指数
1
解决办法
677
查看次数

UISearchBar委托没有响应取消按钮

我有一个UIViewController这是一个UISearchBarDelegateMKMapViewDelegate.该searchBarSearchButtonClicked事件工作正常,但在iOS 4.2中测试时,在点击取消按钮时,不会调用searchBarCancelButtonClicked.在4.3中一切正常.我有相同代码的其他视图,它工作正常.我已经三次检查了方法签名.

它可能与MapView有关,还是我做了一些明显的错误?

我的.h文件:

@interface MyViewController : UIViewController <UISearchBarDelegate,MKMapViewDelegate,UIAlertViewDelegate>{
MKMapView *mapMainView;
UISearchBar *sBar;

}

@property (nonatomic, retain) UISearchBar *sBar;
@end
Run Code Online (Sandbox Code Playgroud)

我创建搜索栏如下:

sBar = [[[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320.0, 70.0)] autorelease];
sBar.delegate = self;
sBar.showsCancelButton = YES;
[self.view addSubview:sBar];
[sBar becomeFirstResponder];
Run Code Online (Sandbox Code Playgroud)

方法:

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
searchBar.hidden = YES;
}
Run Code Online (Sandbox Code Playgroud)

有没有人知道为什么会这样?

iphone objective-c uisearchbardelegate ios4

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

如何使UITextField在Swift中表现得像UISearchBar?

大家好我正在使用UITableView和Swift中的UISearchBar开发新的应用程序,它已经正常工作了.但由于最终项目必须有一个完整的自定义搜索栏,因此我不得不移动到UITextField作为输入Outlet,因为它具有自定义功能.

问题是我无法弄清楚如何编码,以便UITextField的行为类似于UISearchBar.不知道如何过滤UITextField输入并使字符串可用于UISearchBarDelegate方法.

所以任何人都可以帮我解决这个问题?

编辑:我跟随丹尼尔的帮助,并提出了这个代码,但它返回"零",没有工作.

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate {

@IBOutlet weak var txtSearchBar: UITextField!
var searchTxt = ""
let prods = ["água", "terra", "ar", "fogo"]
var searchResults:[String] = []

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    txtSearchBar.delegate = self
}


func textFieldDidEndEditing(textField: UITextField) {
    searchTxt = textField.text
    println(searchTxt)
    searchResults = prods.filter({(produtos:String) -> Bool in

        let nameMatch = produtos.rangeOfString(self.searchTxt, options: NSStringCompareOptions.CaseInsensitiveSearch)

        println(nameMatch)
        return nameMatch != nil})
}
Run Code Online (Sandbox Code Playgroud)

我的输入是字母"ar",但它返回"nil",因为它不应该是因为其中一个数组的对象是"ar".

uitextfield uisearchbar uisearchbardelegate swift ios8

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

点击'X'元素时触发UISearchBar和事件

在UISearchBar上,有一个X元素允许您一次清除所有内容.有没有办法在发生这种情况时收到通知?

UISearchBarDelegate::searchBarCancelButtonClicked 仅在点击"取消"按钮时触发.

iphone uisearchbar uisearchbardelegate

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

检测用户在Swift中停止/暂停键入的时间

我已经挖掘了stackoverflow并找到了我转换为Swift的解决方案,它似乎不起作用,选择器仍在执行.

 func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
    self.filter.searchTerm = self.searchBar.text

    NSObject.cancelPreviousPerformRequestsWithTarget(self, selector: "getHints", object: nil)
    NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "getHints", userInfo: nil, repeats: false)
}
Run Code Online (Sandbox Code Playgroud)

在swift中有更好的方法吗?谢谢!

uisearchbar uisearchbardelegate ios swift

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

如何禁用/启用UISearchBar键盘的"搜索"按钮?

UISearchBar在我的代码中使用.我已经在头文件中导入了它的委托,并在实现文件中也实现了一些委托方法.

当我们点击时UISearchBar,键盘会出现输入文字.键盘的返回键是" 搜索 "按钮.它将默认禁用.当我们输入一个角色时,它将被启用.(我对吗?)

问题来了..我想UISearchBar在用户输入至少两个字母时启用键盘的返回键.

可能吗?如果是,我们该怎么做?

谢谢

iphone objective-c uisearchbar uikeyboard uisearchbardelegate

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