如何暴力禁用第三方键盘

iOS8开放了安装第三方键盘的权限,在项目开发中,有些情况是需要禁用掉第三方键盘。

比如说,数字键盘上需要自定义按扭,但是在第三方键盘弹出时,按扭就覆盖在这上面了,在这个情况,最好的办法是禁用第三方键盘。

问题
  • 如何禁止使用三方键盘?
解决方法
  • 直接在UIApplicationDelegate实现以下代理方法即可
/* 此方法的作用是是否使用第三方键盘
 * extensionPointIdentifier: 第三方键盘的标识
 * Returns: YES 表示使用第三方键盘 NO 表示不使用
*/
- (BOOL)application:(UIApplication *)application shouldAllowExtensionPointIdentifier:(NSString *)extensionPointIdentifier{
    return NO; // 禁用三方键盘
}

那么新的问题来了

  • 面对一些产品经理的无理要求:指定页面禁用三方键盘,并不是禁用所有的
面对这种情况下最好的解决方案当然是:当然不能惯着他
  • 当然如果是甲方或者老板要求的,还是要解决一下的,毕竟甲方是上帝
    直接在代理方法里修改(为了装逼,改了一版swift):
    func application(_ application: UIApplication, shouldAllowExtensionPointIdentifier extensionPointIdentifier: UIApplicationExtensionPointIdentifier) -> Bool {
        //遍历当前根控制器的所有子控制器找到我们需要的子控制器
        for vc in (self.window?.rootViewController?.childViewControllers)! {
            if vc.isKind(of: LMJBaseNavigationController.self) {
                for vc1 in vc.childViewControllers {
                    //如果是首页/个人页面禁止使用第三方键盘
                    if  vc1.isKind(of: HomeController.self) || vc1.isKind(of: PersonViewController.self)  {
                        return false
                    }
                }
            }
        }
        return true
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值