ios - UISearchBar 的自定义 InputView 在 iOS7 中不起作用

标签 ios uisearchbar ios7 inputview

我需要在 UISearchBar 中设置我的自定义 inputView。

所以我写了下面的代码,它在 iOS5 和 iOS6 中完美运行。

但是它在 iOS7 中不起作用。

for(int i =0; i<[self.searchBar.subviews count]; i++) {
            if([[self.searchBar.subviews objectAtIndex:i] isKindOfClass:[UITextField class]])
            {
                [(UITextField*)[searchBar.subviews objectAtIndex:i] setFont:[UIFont fontWithName:@"MyCustomFont" size:15]];
                UITextField* search=(UITextField*)[searchBar.subviews objectAtIndex:i];
                search.delegate = self;

                [(UITextField*)[self.searchBar.subviews objectAtIndex:i] setInputView:self.customKeyboard];
                [self.customKeyboard setTextView:search];
            }
        }



        [self.sBar reloadInputViews];

我该怎么做?

最佳答案

iOS7 中的 searchBar subview 层次结构已更改,请尝试以下操作:

iOS7:

NSArray *searchBarSubViews = [[self.searchBar.subviews objectAtIndex:0] subviews];

iOS6 及之前:

NSArray *searchBarSubViews =  self.searchBar.subviews;

试试下面更新的函数:

NSArray *searchBarSubViews = [[self.searchBar.subviews objectAtIndex:0] subviews];
for(int i =0; i<[searchBarSubViews count]; i++) {
    if([[searchBarSubViews objectAtIndex:i] isKindOfClass:[UITextField class]])
    {
        UITextField* search=(UITextField*)[searchBarSubViews objectAtIndex:i];
        [search setFont:[UIFont fontWithName:@"MyCustomFont" size:15]];
        search.delegate = self;

        [search setInputView:self.customKeyboard];
        [self.customKeyboard setTextView:search];
    }
}
[self.sBar reloadInputViews];

关于ios - UISearchBar 的自定义 InputView 在 iOS7 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18972938/

相关文章:

objective-c - 使类的实例在内存中保留更长时间(在 ARC 下)

objective-c - 在 UISearchBar 中搜索时自动完成

objective-c - 当 UISearchBar 激活时调整 UIToolbar 的大小

ios7 UIStatusBar 在 UIViewController 下

ios - UISearchBarDisplayController 与 UINavigationBar 不能很好地配合

ios - 如何从 Gmail 应用程序在 Safari 中打开链接?

ios - 使用 Sprite Kit 画线时播放声音

c# - 使用 xaml 在 Xamarin.Forms 中为 iPhone 和 iPad 分离 UI

ios - UISearchBar 未从 UITableView 中过滤自定义单元格图像

ios7 - iOS 应用程序 - Rails 4 和 Devise 作为后端