ios - 如何在 iOS7 中更改 UISearchBar 的 inputView?

标签 ios ios7 uisearchbar inputview

在 iOS6 中,我使用下面的代码来改变 UISearchbar 的 inputView

for (UIView *view in _searchBar.subviews) {
    if ([view isKindOfClass: [UITextField class]]) {
        UITextField* textField = (UITextField*)view;
        [textField setInputView:_myKeyboard];
        break;
    }
}

iOS7 中的 UISearchbar 发生了变化,不知道如何找到 textField 来更改 inputView。
请帮忙!谢谢!

最佳答案

iOS7 中 subview 的层次结构发生了变化,所以可以使用如下代码:

// subviews
NSArray *searchBarSubViews = [[self.searchBar.subviews objectAtIndex:0] subviews];
for (UIView *view in searchBarSubViews) {
    if([view isKindOfClass:[UITextField class]])
    {
        UITextField* search=(UITextField*)view;
        [search setFont:[UIFont fontWithName:@"MyCustomFont" size:15]];
        search.delegate = self;

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

关于ios - 如何在 iOS7 中更改 UISearchBar 的 inputView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20278677/

相关文章:

ios - UISearchBar 在关闭后正在调整大小

ios - 如果我返回 Swift,如何在不重新加载 View 的情况下浏览 View

ios - 缺少 NFCTagReaderSession 所需的权利

ios - 如何正确使用 UINavigationController

我无法弄清楚的iOS7状态栏问题

ios - 显示带有弹性动画的 UIView

ios - 如何从 UISearchBar 移动占位符标签

ios - 以编程方式快速拉伸(stretch)背景图像

ios - 如何在 ios 中创建核心情节

iOS范围栏字体大小?