【无标题】

IOS键盘扩展

问题集合

  • 调试时如何显示自定义键盘
    选中扩展程序运行,键盘设置,键盘,添加新键盘,选择自定义的键盘,保存后就能长按时看到自定义键盘了
    在这里插入图片描述
    在这里插入图片描述
  • 修改键盘自定义名字
    默认显示名称格式是"KeyboardName - HostAppName",主应用和扩展应用 使用相同的名字就会显示一个。但两个不一样的时候会用 “-” 显示两个。
    如果要修改,需要保持两个 info.plist 文件中的 Bundle display name 相同。
    当它们不同时,它们将以分隔的字符串显示
  • 修改显示的语言类型
    修改NSExtension——NSExtensionAttributes——PrimaryLanguage的语言类型即可
    在这里插入图片描述
  • 键盘中如何跳转到HOST_APP
    在主程序的Info下配置URL Type,即可通过openURL的方式跳转到主程序

在这里插入图片描述
实现跳转功能核心代码

class KeyboardViewController: UIInputViewController {
	private var appURLString = "KeyboardTool://"
	private func openMainApp() {
	    self.extensionContext?.completeRequest(returningItems: nil, completionHandler: { _ in
	        guard let url = URL(string: appURLString) else { return }
	        _ = self.openURL(url)
	    })
	}
	
	@objc func openURL(_ url: URL) -> Bool {
	    var responder: UIResponder? = self
	    while responder != nil {
	        if let application = responder as? UIApplication {
	            return application.perform(#selector(openURL(_:)), with: url) != nil
	        }
	        responder = responder?.next
	    }
	    
	    return false
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值