Возможно, вы захотите вот это ..
UITextField имеет это свойство,
inputView
Пользовательский вид ввода, отображаемый, когда текстовое поле становится первым респондентом.
@property (readwrite, retain) UIView *inputView
Обсуждение
Если значение в этом свойстве равно nil, текстовое поле отображает стандартную системную клавиатуру, когда оно становится первым респондентом. Присвоение пользовательскому представлению этого свойства приводит к тому, что это представление будет отображаться вместо этого.
Значением этого свойства по умолчанию является ноль.
Таким образом, чтобы отобразить другое представление вместо клавиатуры, все, что требуется, это установить это представление, в данном случае uipickerview или его контейнер в качестве входного представления для текстового поля ...
например, чтобы показать какую-то панель выбора вместо клавиатуры, вы можете захотеть
textView.inputView = [[UIPickerView alloc] initWithFrame:CGRectMake(...)];