首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >采用iPhone OS 4的UIKeyboard

采用iPhone OS 4的UIKeyboard
EN

Stack Overflow用户
提问于 2010-08-31 21:52:12
回答 2查看 1.3K关注 0票数 0

嗨,我有一个很大的问题与iPhone 4.0操作系统与此代码

代码语言:javascript
复制
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES) {
}

在条件UIKeyboard它不工作。我试过"UILayoutContainerView“,但它也不起作用。

请。

EN

回答 2

Stack Overflow用户

发布于 2010-09-13 12:48:52

你可以试试这段代码:

代码语言:javascript
复制
- (BOOL) findKeyboard:(UIView *) superView; 
{
    UIView *currentView;
    if ([superView.subviews count] > 0) {
        for(int i = 0; i < [superView.subviews count]; i++)
        {

            currentView = [superView.subviews objectAtIndex:i];
            NSLog(@"%@",[currentView description]);
            if([[currentView description] hasPrefix:@"<UIKeyboard"] == YES)
            {

                NSLog(@"Find it");

                return YES;
            }
            if ([self findKeyboard:currentView]) return YES;
        }
    }

    return NO;

}

-(void) checkKeyBoard {
    UIWindow* tempWindow;

    for(int c = 0; c < [[[UIApplication sharedApplication] windows] count]; c ++)
    {
        tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:c];
        if ([self findKeyboard:tempWindow])
            NSLog(@"Finally, I found it");  
    }
}

- (void)keyboardWillShow:(NSNotification *)note {
    [self performSelector:(@selector(checkKeyBoard)) withObject:nil afterDelay:0];
}

您还需要将以下代码添加到AppDelegate中的didFinishLaunchingWithOptions函数:

代码语言:javascript
复制
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
票数 0
EN

Stack Overflow用户

发布于 2011-01-09 07:15:20

代码语言:javascript
复制
@"<UIPeripheralHostView" will work instead of @"<UIKeyboard"

不知道为什么。

那么你能告诉我:如何确定UIKeyboard类中的键盘类型吗?

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

https://stackoverflow.com/questions/3609649

复制
相关文章

相似问题

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