2010-08-08 154 views
0

我正在創建一個自定義鍵盤,並在水平行中放置了10個UIButton。按鈕跨越屏幕寬度,大小相同,必須彼此齊平。iPhone自定義鍵盤

我還想讓用戶通過沿着一排按鈕滑動手指來選擇一個按鈕。所選按鈕的預覽顯示在屏幕的其他位置。預覽在用戶沿着該行移動他們的手指時更新。當用戶滿意他們的選擇時,他們鬆開手指,確認選擇。

明顯的地方就是UICountrolEventDragExit或UIControlEventDragOutside刪除以前的按鈕和UIControlEventTouchUpInside的作用,激活當前按鈕並殺死以前的觸摸事件。但是,UICountrolEventDragExit和UIControlEventDragOutside只有在用戶距離給定按鈕足夠遠時纔會激活。由於我的按鈕必須相互齊平,這對我來說太遠了,不夠好。

對此提出建議?

回答

2

禁用用戶的交互,並通過含有視圖跟蹤所有觸摸。這與Apple的鍵盤代碼的工作原理類似。

(或者,你可以畫出所有的按鈕直接在單個鍵盤視圖的drawRect:,但在取向的改變,不會看起來正確)

+0

謝謝。我必須弄髒我的手?也許。 – SK9 2010-08-08 09:36:49

0

如果你想要一個10鍵'按鍵',我會看看使用UISegmentedControl。可以創建每一個與10個段用它自己的密鑰和接收所選擇的編程類的鍵:上用於顯示的按鈕的觀點

segmentSelected = mySegmentControll.selectedSegmentIndex; 
+0

感謝您的回答。這是一個稍微有點假設的問題:鍵盤必須是一排UIButton。假設這一點。 – SK9 2010-08-08 09:35:50

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)也正常工作的看法。