iPhone自定义键盘

问题描述:

我正在创建一个自定义键盘,并在水平行中放置了10个UIButton。按钮跨越屏幕宽度,大小相同,必须彼此齐平。iPhone自定义键盘

我还想让用户通过沿着一排按钮滑动手指来选择一个按钮。所选按钮的预览显示在屏幕的其他位置。预览在用户沿着该行移动他们的手指时更新。当用户满意他们的选择时,他们松开手指,确认选择。

明显的地方就是UICountrolEventDragExit或UIControlEventDragOutside删除以前的按钮和UIControlEventTouchUpInside的作用,激活当前按钮并杀死以前的触摸事件。但是,UICountrolEventDragExit和UIControlEventDragOutside只有在用户距离给定按钮足够远时才会激活。由于我的按钮必须相互齐平,这对我来说太远了,不够好。

对此提出建议?

禁用用户的交互,并通过含有视图跟踪所有触摸。这与Apple的键盘代码的工作原理类似。

(或者,你可以画出所有的按钮直接在单个键盘视图的drawRect:,但在取向的改变,不会看起来正确)

+0

谢谢。我必须弄脏我的手?也许。 – SK9 2010-08-08 09:36:49

如果你想要一个10键'按键',我会看看使用UISegmentedControl。可以创建每一个与10个段用它自己的密钥和接收所选择的编程类的键:上用于显示的按钮的观点

segmentSelected = mySegmentControll.selectedSegmentIndex; 
+0

感谢您的回答。这是一个稍微有点假设的问题:键盘必须是一排UIButton。假设这一点。 – SK9 2010-08-08 09:35:50

调用

-(void)touchesBegan:(NSSet )touches withEvent:(UIEvent)event;

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;

明智地与显示10 UIImages(不UIButtons)也正常工作的看法。