1
This commit is contained in:
@@ -136,6 +136,12 @@ typedef NS_ENUM(NSInteger, KBGuideItemType) {
|
||||
// [UIView performWithoutAnimation:^{
|
||||
self.permVC.view.hidden = !show;
|
||||
// }];
|
||||
|
||||
// 若权限已满足(引导未显示),从设置返回时尝试让输入框成为第一响应者,
|
||||
// 以便立刻触发键盘挂载并检测是否为自家键盘/是否已开启完全访问
|
||||
if (!show) {
|
||||
[self kb_tryActivateTextFieldIfReady];
|
||||
}
|
||||
}
|
||||
|
||||
/// 提前创建权限引导页覆盖层(仅一次)
|
||||
@@ -270,6 +276,21 @@ typedef NS_ENUM(NSInteger, KBGuideItemType) {
|
||||
[KBHUD showInfo:(isMine ? @"是自己的键盘" : @"❎不是自己的键盘")];
|
||||
}
|
||||
|
||||
/// 当权限满足时,尽力激活输入框,从而触发键盘挂载与输入法检测
|
||||
- (void)kb_tryActivateTextFieldIfReady {
|
||||
// 权限未满足或存在覆盖层时不处理
|
||||
if (self.permVC && self.permVC.view.hidden == NO) return;
|
||||
// 视图未显示到窗口上时不处理(避免早期调用无效)
|
||||
if (!self.view.window) return;
|
||||
// 若未成为第一响应者,则尝试激活并在下一轮循环评估一次
|
||||
if (![self.textField isFirstResponder]) {
|
||||
[self.textField becomeFirstResponder];
|
||||
}
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[self kb_evaluateCurrentInputModeAndNotifyIfNeeded];
|
||||
});
|
||||
}
|
||||
|
||||
#pragma mark - UITableView
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
|
||||
Reference in New Issue
Block a user