Прежде всего, вам, вероятно, не следует пытаться заставить UIPickerView появляться, когда вы нажимаете на UITextField, поскольку это не стандартное поведение (особенно, если вы подавляете клавиатуру). Похоже, вам нужен стандартный UIButton, который при нажатии представляет UIPickerView, так как это имеет больше смысла.
В любом случае, если вы не видите выходы Datasource и Delegate в IB, попробуйте применить их вручную в своем коде.
pickerTypesCarburants.delegate = self;
pickerTypesCarburants.dataSource = self;
Чтобы ответить на ваш второй вопрос, клавиатура будет скрываться только при нажатии клавиши возврата с реализованным вами методом textFieldShouldReturn. UITextField также должен будет иметь свой делегированный набор (я предполагаю, что вы делаете это в IB, которого нет в вашем файле .m). Чтобы скрыть клавиатуру, как только вы нажмете UITextField, вы должны изменить свой метод pickerTypeCarburantsShow:
-(IBAction)pickerTypeCarburantsShow{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
CGAffineTransform transform=CGAffineTransformMakeTranslation(0, 240);
pickerViewTypesCarburants.transform=transform;
[self.view addSubview:pickerViewTypesCarburants];
[UIView commitAnimations];
[typeCarburantTextField resignFirstResponder];
}
Это обеспечит немедленное скрытие клавиатуры (а не нажатие кнопки возврата). Опять же, я бы задал вопрос, почему вы хотите, чтобы при нажатии UITextField отображался UIPickerView, поскольку это, вероятно, противоречит принципам человеческого интерфейса.