2011-12-24 2 views
0

Пожалуйста, найдите ниже код я попытался добавить панель инструментов в uipicker, но он не работаетUIToolbar не показан

Pls дайте мне знать

UIPickerView *pickerViewCountry = [[UIPickerView alloc] init]; 
pickerViewCountry.showsSelectionIndicator = YES; 
pickerViewCountry.dataSource = self; 
pickerViewCountry.delegate = self; 
pickerViewCountry.autoresizingMask = (UIViewAutoresizingFlexibleWidth | 
UIViewAutoresizingFlexibleHeight); 
[pickerViewCountry sizeToFit]; 
pickerViewCountry.frame = CGRectMake(0,210 , 320, 15); 
[self.view addSubview:pickerViewCountry]; 

//[pickerViewCountry release]; 

UIToolbar *toolbar = [[UIToolbar alloc] init]; 
toolbar.frame = CGRectMake(10,200, 320, 44); 
toolbar.barStyle = UIBarStyleBlackTranslucent; 
[pickerViewCountry addSubview:toolbar]; 
[toolbar release]; 

ответ

2

Когда вы звоните:

toolbar.frame = CGRectMake(10,200, 320, 44); 

CGRect является относительно выбора режима просмотра (если вы addSubview к pickerViewCountry), поэтому размещение бы не совместить в верхней части представления захватывающего, а где-то в в правом нижнем углу за пределами вида выбора, поэтому он не будет отображаться.

Что вы пытаетесь достичь? Возможно, вы не захотите добавить UIToolbar в UIPickerView. Вместо этого вы можете попробовать добавить UIToolbar к основному виду.

[self.view addSubview: toolbar]; 

и хранить toolbar.frame = CGRectMake(10,200, 320, 44); как есть.

+0

Я хочу иметь кнопку на uipicker сделана, так что я пытаюсь ниже – user198725878

+0

Вы можете добавить UIToolbar в качестве подзадачи 'self.view' и по-прежнему делать это как проделанную кнопку для сборщика, просто настройте вызов IBAction для ссылки на кнопку« Готово ». – johnluttig

+1

Mystery решаем.! При добавлении элементов интерфейса в subviews кадр элемента относится к кадру его родителя. – jcpennypincher

0

Так как вы добавляете панель инструментов как подвид, Я считаю, что координаты X и Y CGRectMake будут относиться к кадру pickerViewCountry. Попробуйте установить следующую строку:

toolbar.frame = CGRectMake(10,200, 320, 44); 

к этому один:

toolbar.frame = CGRectMake(0,0, 320, 44); 

Я не пробовал, так что я не уверен, но если это на самом деле. Я попробую и дам вам знать, если к тому времени никто не ответил.

0

Вы можете сделать разные вещи, чтобы решить эту проблему.

  1. добавить панель инструментов в self.view и установить рамку над подборщиком

  2. Изменения панели инструментов кадр, как toolbar.frame = CGRectMake(10,-44, 320, 44);

Смежные вопросы