2011-12-24 29 views
0

请找到下面的代码,我试图以添加工具栏到uipicker,但它不工作UIToolbar

请让我知道

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 2011-12-24 05:50:53

+0

你可以添加UIToolbar作为'self.view'的子视图,并且仍然使它作为picker的完成按钮,只需设置一个IBAction调用来链接到done按钮即可。 – johnluttig 2011-12-24 06:01:11

+1

神秘解决。将接口项添加到子视图中时,项目的框架与其父框架相关。 – jcpennypincher 2012-09-13 21:12:25

0

由于要添加的工具栏作为一个子视图,我相信CGRectMake的X和Y坐标将相对于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);