如何始终在视图控制器中显示键盘?

时间:2016-07-22 19:58:53

标签: ios xcode keyboard swift2

对于外观我想在视图控制器中保留 Keyboard ,即使我没有在视图中编辑任何文本字段。

在我的视图控制器中,用户可以单击按钮转到图像选择器以从照片库中选择图像。当我点击imagePicker按钮时, Keyboard 就会消失。

有没有办法 keep the Keyboard present even when the user clicks the imagePicker?

2 个答案:

答案 0 :(得分:0)

是的,你可以做到。

  

由于UIKeyboard是UIWindow的子类,因此唯一足够大的东西   在UIKeyboard的方式是另一个UIWindow。

- (void)viewDidLoad {
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(coverKey) name:UIKeyboardDidShowNotification object:nil];
    [super viewDidLoad];
}

- (void)coverKey {
    CGRect r = [[UIScreen mainScreen] bounds];
    UIWindow *myWindow = [[UIWindow alloc] initWithFrame:CGRectMake(r.size.width - 50 , r.size.height - 50, 50, 50)];
    [myWindow setBackgroundColor:[UIColor clearColor]];
    [super.view addSubview:myWindow];
    [myWindow makeKeyAndVisible];
}

这样键盘永远不会被解雇。

答案 1 :(得分:0)

我假设你有一个 TextField ,试着实现这个:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    checkBool = YES;
    return YES;
}

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
    return checkBool;
}

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    checkBool = NO;
}

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    return NO;
}

如果您有TextView,请尝试使用TextView委托方法替换它们。