2016-10-03 59 views
-2

我想创建一个自定义键盘,并且我想在其上添加更多字符。如果用户长按一个按钮,它会显示更多的字符。像IOS默认键盘长按后显示弹出式按钮。如何在xcode中创建弹出按钮?

+0

你需要有一个去吧,如果你卡住了,就问这个问题。尝试在我的手机上,它看起来像一个长按手势识别器,只是添加一个子视图与额外的字符。长按结束时会丢弃子视图。 – Michael

回答

1

几个月前,我创建了一个非常复杂的键盘,每个键需要至少5种不同的变体(阿姆哈拉语方言)。我发现很多弹出窗口不能很好地工作,因为它们不会弹出键盘顶部,我看着其他键盘如何实现这一点,但无法找到使其工作的方式。你可以在这个问题上看到一个问题here

作为一项解决方案,我在顶部创建了一个额外的行,我的自定义键盘通常充满了数字,但长按则会切换显示可用的替代键。长按按键将被添加到该字段,如果他们选择了替代品,则将替换第一个键。

为了给你一个更好的主意,这里有一些图片:

普通键盘:

enter image description here

长按:

enter image description here

注:对不起,质量差,但我只能找到该项目的中间版本来筛选打印。

在这个项目上工作时,我发现弹出窗口比这更难实现。我研究了使用bezier paths创建自己的弹出窗口,还使用弹出窗口自己使用了CYRKeyboard Button。 (请注意,尽管CYR gif显示了所需的确切功能,但我发现这个gif非常具有误导性)。但最终我回到了上述解决方案,该解决方案非常流畅,快速且轻松地工作。

希望这可以帮助

+0

谢谢,你的键盘看起来很棒。而我是新的迅速。我也有约束和自动布局的问题..任何建议关于这个? –

+0

如果此答案已回答您的问题,则应将其标记为正确答案。然后,在发布一个单独的问题之前,先搜索一下可能的约束和自动布局答案。我做了我的约束,所以它会自动更新,当屏幕转向并记住它是复杂的。这里是我发布的问题可能会有所帮助:http://stackoverflow.com/questions/29598009/how-can-i-programatically-constrain-uibuttons-in-a-uiview-to-proportional-widths –