iPhone自定义键盘

时间:2010-08-08 03:12:23

标签: iphone iphone-softkeyboard touchpad

我正在创建一个自定义键盘,其中10个UIButtons排列在一个水平行中。按钮跨越屏幕的宽度,大小相同,必须相互齐平。

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

要尝试的显而易见的事情是UICountrolEventDragExit或UIControlEventDragOutside删除上一个按钮和UIControlEventTouchUpInside的操作以激活当前按钮并终止以前的触摸事件。但是,只有当用户拖动距离给定按钮足够远时,才会激活UICountrolEventDragExit和UIControlEventDragOutside。由于我的按钮必须相互齐平,这对我来说太过分了,不够好。

建议?

3 个答案:

答案 0 :(得分:2)

在用于显示按钮的视图上禁用用户交互,并通过包含视图跟踪所有触摸。这与Apple的键盘代码的工作方式类似。

(或者,您可以直接在单个键盘视图的drawRect:中绘制所有按钮,但在方向更改期间看起来不正常)

答案 1 :(得分:0)

如果你想要一个10键'键盘',我会看一下使用UISegmentedControl。您可以创建一个包含10个段的段,每个段都有自己的键,并以编程方式接收选择的键,如:

 segmentSelected = mySegmentControll.selectedSegmentIndex;

答案 2 :(得分:0)

致电

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

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

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

明智地看到10个UIImages(不是UIButtons)的视图也可以正常工作。