如何编写像呼叫应用程序一样的“数字键盘”

时间:2010-12-18 01:35:33

标签: iphone numpad

我怎么能在iPhone应用程序中做这样的事情?

iphone app screenshot

我需要输入一个数字,但我想要这样的东西,而不是简单的UITextField。

如何?

谢谢!

4 个答案:

答案 0 :(得分: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];
}

答案 1 :(得分:1)

我同意凯文。但是如果你决定实现自己的键盘式键盘,你可能不得不丢失原始iOS键盘提供的所有这些不错的功能。

答案 2 :(得分:0)

由于我在程序中需要多个情况,我写了delegate-driven KeyPad

答案 3 :(得分:0)

我已经用新功能解决了

UITextField.keyboardType = UIKeyboardTypeDecimalPad;