我试图在用户键入时强制
UISearchBar
文本字段为大写。
这是我尝试过的,但它不起作用。
UISearchBar *filterSearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(10.0, 170.0, 280.0, 40.0)];
filterSearchBar.delegate = self;
filterSearchBar.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
[allBackGroundView addSubview:filterSearchBar];
使用下面的 SearchBar 委托方法强制大写字母
Objective-C
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
searchBar.text = searchText.uppercaseString;
}
斯威夫特
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
searchBar.text = searchText.uppercaseString
}
在 SwiftUI 中,如果您使用 .searchable 修饰符实现搜索栏,则只需添加此修饰符即可:
.textInputAutocapitalization(.characters)
您应该能够使用搜索栏委托方法来执行此操作。我没有打开 Xcode 来测试这个,但这应该可以...
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
searchText = [searchText uppercaseString];
}