【问题标题】:Custom InputView for UISearchBar doesn't work in iOS7UISearchBar 的自定义 InputView 在 iOS7 中不起作用
【发布时间】:2013-09-24 04:24:39
【问题描述】:

我需要在 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];

我该怎么做?

【问题讨论】:

    标签: ios uisearchbar ios7 inputview


    【解决方案1】:

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

    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];
    

    【讨论】:

    • 那么如何使用 NSArray 设置 InputView?
    • 通过在第二行改变你 if([[ [[self.searchBar.subviews objectAtIndex:0] subviews] objectAtIndex:i] isKindOfClass:[UITextField class]]) 等等休息。
    • 整个函数的searchBar.subviews改了吗?
    • 兄弟。现在我明白了。欢呼!。 :D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 2011-08-11
    • 2016-10-26
    • 2019-11-02
    相关资源
    最近更新 更多