iOS技术交流收藏

iPad 悬浮键盘bug 适配

2020-08-13  本文已影响0人  阿拉斯加的狗
我们在iOS/iPadOS上遇到了一个特定的错误,似乎是在iPad在屏幕上显示浮动(类似于iPhone的)键盘(而不是固定的键盘)时触发的
最佳答案
    if (rect.size.width == UIScreen.mainScreen.bounds.size.width) {
        [UIView animateWithDuration:time animations:^{
            if (Y > 0) {
                // 键盘弹出的时候禁止开启抽屉
                self.navigationItem.leftBarButtonItem.enabled = NO;
                
                self.sendMessageTableView.frame = CGRectMake(0, CYSafeAreaTopHeight, SCREEN_WIDTH, SCREEN_HEIGHT - self.chatToolView.height - Y - CYSafeAreaTopHeight);
                self.chatToolView.frame = CGRectMake(0, self.sendMessageTableView.maxY, SCREEN_WIDTH, self.chatToolView.height);
            } else {
                self.navigationItem.leftBarButtonItem.enabled = YES;
                
                self.sendMessageTableView.frame = CGRectMake(0, CYSafeAreaTopHeight, SCREEN_WIDTH, SCREEN_HEIGHT - self.chatToolView.height - Y - CYSafeAreaTopHeight);
                self.chatToolView.frame = CGRectMake(0, self.sendMessageTableView.maxY, SCREEN_WIDTH, self.chatToolView.height);
            }
            self.autoCompletionView.maxY = self.chatToolView.y;
            [self scrollPositionBottom];
        }];
    } else {
        // 添加iPad 悬浮键盘适配
        self.navigationItem.leftBarButtonItem.enabled = YES;
        
        self.sendMessageTableView.frame = CGRectMake(0, CYSafeAreaTopHeight, SCREEN_WIDTH, SCREEN_HEIGHT - self.chatToolView.height - CYSafeAreaTopHeight);
        self.chatToolView.frame = CGRectMake(0, self.sendMessageTableView.maxY, SCREEN_WIDTH, self.chatToolView.height);
        
        self.autoCompletionView.maxY = self.chatToolView.y;
        [self scrollPositionBottom];
    }
上一篇 下一篇

猜你喜欢

热点阅读