2010-12-18 42 views
0

我該如何在iPhone應用程序中做這樣的事情?如何編寫一個「數字鍵盤」,如調用應用程序

iphone app screenshot

我需要輸入一個號碼,但我想是這樣的,不是一個簡單的UITextField。

怎麼樣?

謝謝!

+0

你將不得不更具體 - 這個數字在哪裏?如果你不想要一個UITextField,那麼顯示用戶對輸入數字的反饋是什麼?如果你讓我們知道你已經嘗試了什麼,它也會有所幫助。 – Tim 2010-12-18 02:09:35

回答

0

我用新功能解決了UITextField.keyboardType = UIKeyboardTypeDecimalPad;

1

如果您希望它看起來像您發送的內容,您將不得不創建一個自定義UIView。基本上爲每個控件添加一組子視圖(UIButtons)。然後爲將通知價值變化的自定義UIView創建一個委託。例如,下面是一些粗略的代碼,以幫助您開始:

// CustomNumbersView.m 

- (void)button1DidClick:(id)sender 
{ 
    [self.delegate customNumbersView:self didSelectKeyWithValue:@"1"]; 
} 

- (void)button2DidClick:(id)sender 
{ 
    [self.delegate customNumbersView:self didSelectKeyWithValue:@"2"]; 
} 

// MainViewController.m 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    CustomNumbersView *customNubmersView = [[CustomNumbersView alloc] initWithFrame:...]; 
    customNumbersView.delegate = self; 
} 

- (void)customNumbersView:(CustomNumbersView *)customNumbersView didSelectKeyWithValue:(NSString *)value 
{ 
    self.mainTextField.text = [NSString stringWithFormat:@"%@%@", self.mainTextField.text, value]; 
} 
+0

是的,對於類似的東西,我添加了一組子視圖。但是,例如,當我點擊「5」按鈕時,如何實時設置文本框的輸出? – 2010-12-18 05:52:33

+0

嘿華金。您需要使用**委託模式**來通知您的視圖控制器任何按鈕按下。我已經在上面提供了一些代碼來幫助你開始,並且告訴你如何完成它。 – 2010-12-18 06:02:23

+0

超棒的男人。謝謝 – 2010-12-20 03:56:15

1

我同意凱文。但是,如果您決定實施自己的鍵盤式鍵盤,則可能不得不失去原始iOS鍵盤提供的所有功能。

相關問題