首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用InputView的UISearchBar

使用InputView的UISearchBar
EN

Stack Overflow用户
提问于 2011-04-24 18:19:48
回答 2查看 2K关注 0票数 3

我正在为我的应用程序定制键盘,它在UITextField上工作得很好。但是UISearchBar不支持inputView

代码语言:javascript
复制
- (UIView *)inputView {
    if(self.keyboard==nil)
    {
        self.keyboard=[[[MMKeyboard alloc] initWithNibName:@"MMKeyboard" bundle:nil]autorelease];
    }
    NSLog(@"HERE");
    return self.keyboard.view;

}

如何在UISearchBar中替换为我的自定义UITextField,或者如何在UISearchBar中实现inputView?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-25 00:10:20

我像下面这样解决了

代码语言:javascript
复制
#import <Foundation/Foundation.h>
#import "MMKeyboard.h"

@interface MMSBar : UISearchBar {
    MMKeyboard* keyboard;

}
@property(nonatomic,retain)MMKeyboard* keyboard;

@end




- (void)layoutSubviews {

    if(self.keyboard==nil)
    {
        self.keyboard=[[[MMKeyboard alloc] initWithNibName:@"MMKeyboard" bundle:nil]autorelease];
    }


    UITextView *searchField;
    NSUInteger numViews = [self.subviews count];
    for(int i = 0; i < numViews; i++) {
        if([[self.subviews objectAtIndex:i] isKindOfClass:[UITextField class]]) {
            searchField = [self.subviews objectAtIndex:i];
            [searchField setInputView:keyboard.view];
        }
    }

    [super layoutSubviews];
}
票数 2
EN

Stack Overflow用户

发布于 2011-04-24 18:28:44

就像这段代码所做的那样,但是您要更改inputView

代码语言:javascript
复制
// loop around subviews of UISearchBar
for (UIView *searchBarSubview in [searchBar subviews]) {    
if ([searchBarSubview conformsToProtocol:@protocol(UITextInputTraits)]) {    
  @try {
    // set style of keyboard
    [(UITextField *)searchBarSubview setKeyboardAppearance:UIKeyboardAppearanceAlert];

    // always force return key to be enabled
    [(UITextField *)searchBarSubview setEnablesReturnKeyAutomatically:NO];
  }
  @catch (NSException * e) {        
    // ignore exception
  }
 }
}

有关更多详细信息,请参阅此帖子:

iphone UISearchBar Done button always enabled

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5769999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档