如何在 iOS 中强制 UISearchBar 文本变为大写

问题描述 投票:0回答:3

我试图在用户键入时强制

UISearchBar
文本字段为大写。

这是我尝试过的,但它不起作用。

  UISearchBar *filterSearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(10.0, 170.0, 280.0, 40.0)];
  filterSearchBar.delegate = self;
  filterSearchBar.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters; 
  [allBackGroundView addSubview:filterSearchBar];
ios objective-c uisearchbar
3个回答
10
投票

使用下面的 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
}

0
投票

在 SwiftUI 中,如果您使用 .searchable 修饰符实现搜索栏,则只需添加此修饰符即可:

.textInputAutocapitalization(.characters)

-1
投票

您应该能够使用搜索栏委托方法来执行此操作。我没有打开 Xcode 来测试这个,但这应该可以...

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
     searchText = [searchText uppercaseString];
}
© www.soinside.com 2019 - 2024. All rights reserved.