Как кодировать «цифровую клавиатуру», например, приложение «Вызов» - PullRequest
0 голосов
/ 18 декабря 2010

как я могу сделать что-то подобное в приложении для iPhone?

iphone app screenshot

Мне нужно ввести число, но я хочу что-то вроде этого, а не просто UITextField.

Как?

Спасибо!

Ответы [ 4 ]

1 голос
/ 18 декабря 2010

Согласен с Кевином. Но если вы решите реализовать свой собственный клавиатурный планшет, вам, возможно, придется потерять все те приятные функции, которые предоставляет оригинальная клавиатура iOS.

1 голос
/ 18 декабря 2010

Вам нужно будет создать пользовательский 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 голосов
/ 18 декабря 2010

Я решил с новой функцией

UITextField.keyboardType = UIKeyboardTypeDecimalPad;
0 голосов
/ 18 декабря 2010

Поскольку в моих программах требуется одна из нескольких ситуаций, я написал KeyPad, управляемый делегатами .

...