Kam*_*ros 6 touch uibutton uiview ios swift
我正在为Swift中的iOS 8编写自定义键盘扩展,我在实现Swype风格的涂鸦叠加层时遇到了麻烦.现在,我的键盘有一个基座UIView(view我的属性UIInputViewController),它有许多UIButtons与键盘上的键相对应的键.这些键中的每一个都响应touchUpInside事件,并UISwipeGestureRecognizers在向上或向下滑动时输入次要字符.我已经覆盖touchesBegan:withEvent:了将我的涂鸦叠加视图添加为子视图并touchesEnded:withEvent:删除我的涂鸦叠加视图UIInputViewController.
目前,如果我尝试从按钮之间的某些间距开始涂鸦,则可以正确显示涂鸦叠加视图.但是,如果我从a开始涂鸦UIButton,则UIButton捕获触摸事件并且不会将其转发给我UIInputViewController.
我如何实现我的键盘,如果用户在按钮之间涂鸦,则会出现我的涂鸦叠加视图,但是否则会处理按钮按下/滑动?
- 编辑 -
我试图通过覆盖touchesBegan/Moved/Ended/Cancelled方法将事件转发给下一个响应者来解决这个问题.如果我点击一个按钮,然后点击另一个按钮,我可以在两者之间出现一个涂鸦.但是,我仍然无法在按钮上画任何东西作为按钮之间的涂鸦.谁有更好的主意?
--EDIT#2--
目前,我的视图层次结构设置如下:(
UIView来自UIInputViewController)ScribbleView子视图:我的所有按钮,然后覆盖子视图.
如果我userInteractionEnabled对我设置为true ScribbleView,我可以在任何地方涂鸦,无论起始位置如何,但我失去了按钮功能.
至于源代码,我一直在尝试各种传递触摸事件和诸如此类的配置,但代码的主体可以在这里找到:https://github.com/Kamaros/ELDeveloperKeyboard.
我在这里猜测,因为我还没有尝试使用 UIInputViewControllers。但是如何子类化 UIButton 然后重写touchesBegan:withEvent:和touchesEnded:withEvent:方法以便将这些事件转发到您的 UIInputViewController 呢?
| 归档时间: |
|
| 查看次数: |
1131 次 |
| 最近记录: |