标签: custom-keyboard

如何在iOS 8中检测自定义键盘扩展中的方向更改?

在自定义键盘扩展中,我们无法使用

`didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation` 
Run Code Online (Sandbox Code Playgroud)

sharedApplication.

我需要在旋转时检测键盘上的纵向或横向.

如何在Custom Keyboard扩展中检测方向更改?

ios8 ios-app-extension uiinputviewcontroller custom-keyboard

40
推荐指数
2
解决办法
2万
查看次数

数据输入的自定义视图的Swift示例(自定义应用程序内键盘)

目标

我想制作一个仅在我的应用程序中使用的自定义键盘,而不是需要安装的系统键盘.

我读过和尝试过的内容

文档

上面的第一篇文章指出:

确保自定义的系统范围键盘确实是您想要开发的.为了仅为您的应用提供完全自定义的键盘,或仅在您的应用中使用自定义键补充系统键盘,iOS SDK提供了其他更好的选择.在iOS文本编程指南的"数据输入自定义视图"中阅读有关自定义输入视图和输入附件视图的信息.

这就是我上面第二篇文章的原因.但是,那篇文章没有足够的细节让我开始.

教程

我能够从上面列表中的第二个教程中获得一个工作键盘.但是,我找不到任何教程,这些教程展示了如何制作一个仅限应用程序的键盘,如数据输入自定义视图文档中所述.

堆栈溢出

在回答当前问题的路上,我也问了(并回答了)这些问题.

有没有人在应用程序自定义键盘中有一个最小的例子(甚至一个按钮)?我不是在寻找一个完整的教程,只是一个概念证明,我可以扩展自己.

keyboard ios swift custom-keyboard

38
推荐指数
3
解决办法
2万
查看次数

如何在弹出键盘中禁用键预览(不在主软键盘布局中)?

禁用键预览很容易:只需调用setPreviewEnabled(false),这些烦人的小预览就不会再出现了.但是如果我将一个弹出式键盘附加到任何键上,那么这些预览将显示在该弹出窗口中:

qwerty.xml:

<Key android:codes="101" 
    android:keyLabel="E" 
    android:popupKeyboard="@xml/popup"
   android:keyTextSize="60sp"/>
Run Code Online (Sandbox Code Playgroud)

popup.xml:

<Row>
    <Key android:codes="-10000"
        android:keyLabel="test"
        android:keyOutputText="test"/>
</Row>
<Row>
    <Key android:codes="-10001"
        android:keyLabel="test2"
        android:keyOutputText="test2"/>
</Row>
Run Code Online (Sandbox Code Playgroud)

无法发布图片,但如果我长按字母'E'然后按test或test2按钮,他们将显示白键预览.

有没有办法禁用这些关键预览呢?

android keypreview android-softkeyboard custom-keyboard

24
推荐指数
1
解决办法
2880
查看次数

如何在自定义键盘中播放键盘点击声?

我用自己创建了自定义键盘UIView.但是我没有听到键盘的咔嗒声.所以我尝试了以下代码.但是我听不到任何声音.如何播放键盘咔嗒声?

NSURL* musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] 
                                               pathForResource:@"Tock"
                                               ofType:@"aiff"]];
    AVAudioPlayer *click = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil];
    [click setVolume:0.15f];
    [click play];
Run Code Online (Sandbox Code Playgroud)

我也尝试了下一个.

AudioServicesPlaySystemSound(0x450);
Run Code Online (Sandbox Code Playgroud)

我怎么能够?

cocoa-touch objective-c ios custom-keyboard

16
推荐指数
3
解决办法
8639
查看次数

如何在iOS8自定义键盘中弹出像键盘字符一样的弹出窗口?

我想在iOS8自定义键盘中创建弹出窗口,如下图所示.

想在iOS8中创建这种类型的键盘

有些代码正在工作但无法访问键盘的外窗并发生问题,如下图2所示

iOS8自定义键盘中的问题

iphone ios ios8 ios-app-extension custom-keyboard

16
推荐指数
1
解决办法
4221
查看次数

错误ITMS-9000:"无效架构:包含应用扩展和框架的应用必须支持arm64

我想在Itunes Connect上上传使用自定义键盘扩展的构建但是当我要通过Application loader将它上传到Itunes Connect时,它会显示我的错误

ERROR ITMS-9000: "Invalid architecture: Apps that include an app extension and a framework must support arm64
Run Code Online (Sandbox Code Playgroud)

我已经在键盘扩展目标和app目标中为"Armv7",armv7s,arm64添加了有效的架构.但我仍然面临同样的问题

在此输入图像描述 在此输入图像描述

architecture ios8 custom-keyboard

14
推荐指数
2
解决办法
1576
查看次数

UITextInputDelegate方法无法正常运行

我现在正在使用iOS 8自定义键盘扩展,使用UITextInputDelegate方法时存在一些问题.

这是否正确:selectionWillChange:selectionDidChange:当用户长按输入区域时应该调用方法?并且textWillChange:textDidChange:方法应该在文本字面改变时调用?

实际上,我观察到的是,当我在文本输入区域中更改选择时,会调用textWillChange:和textDidChange:,并且我无法得到其他两个方法在什么条件下被调用的线索.如果有人知道这些委托方法的用法,请告诉我.

ios8 ios-app-extension custom-keyboard

13
推荐指数
1
解决办法
1828
查看次数

在iOS8.1模拟器的Safari中看不到自定义键盘

更新到Xcode 6.1后,我在iOS8.1模拟器的Safari中丢失了自定义键盘.但它仍然出现在照片应用程序中.照片应用可以切换到我的自定义键盘,但Safari仍然显示英语和表情符号,其他系统键盘如阿拉伯语也无法正常工作.我重置模拟器,但没有工作.iOS8.1中的Safari看起来没什么变化.我试着清除DerivedData文件夹,但没有任何帮助.我删除Xcode并从Appstore重新安装,也不工作.

我必须在我的设备上测试,太奇怪了.有没有人有同样的问题?请帮忙解决这个问题.

ios ios8 custom-keyboard

12
推荐指数
1
解决办法
1356
查看次数

ios 8自定义键盘在设置页面中更改语言

我正在编写自定义键盘.当我在设置中添加键盘时,我看到了这样的.它显示英语.

是否可以将"英语"改为其他?是在plist?或者我可以在哪里更改?

在此输入图像描述

ios ios8 ios-app-extension custom-keyboard

11
推荐指数
2
解决办法
1595
查看次数

PopupWindow在Android API 28的自定义键盘上被剪辑

我做了一个自定义键盘.当您长按一个键时,会PopupWindow在键上方显示一些额外的选项.问题是在API 28中,此弹出窗口被剪裁(甚至完全隐藏在顶行).

在此输入图像描述

我已经解决了这个问题API <28

popupWindow.setClippingEnabled(false);
Run Code Online (Sandbox Code Playgroud)

但是,对于API 28,问题又回来了.这是更多的代码:

private void layoutAndShowPopupWindow(Key key, int xPosition) {
    popupWindow = new PopupWindow(popupView,
            LinearLayout.LayoutParams.WRAP_CONTENT,
            LinearLayout.LayoutParams.WRAP_CONTENT);
    popupWindow.setClippingEnabled(false);
    int location[] = new int[2];
    key.getLocationInWindow(location);
    int measureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    popupView.measure(measureSpec, measureSpec);
    int popupWidth = popupView.getMeasuredWidth();
    int spaceAboveKey = key.getHeight() / 4;
    int x = xPosition - popupWidth / popupView.getChildCount() / 2;
    int screenWidth = getScreenWidth();
    if (x < 0) {
        x = 0;
    } else if (x + popupWidth > screenWidth) {
        x = …
Run Code Online (Sandbox Code Playgroud)

android android-popupwindow custom-keyboard

11
推荐指数
1
解决办法
990
查看次数