2011-12-24 80 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);