2013-06-12 16 views
0

我在Ipad中製作應用程序我在Xib中採用了一個pickerviewController,並且當用戶單擊特定按鈕時顯示它現在我正試圖在popover中放入該選擇器視圖 這就是我如何嘗試實現這一TASTpopover中的選取器視圖中的問題

pickerView.hidden=FALSE; 
i have created outlet of picker and i unhide it here 

    UIViewController* popoverContent = [[UIViewController alloc] init]; 
    UIView* popoverView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 344)]; 
    popoverView.backgroundColor = [UIColor whiteColor]; 


    [popoverView addSubview:pickerView]; 
    popoverContent.view = popoverView; 


    popoverContent.contentSizeForViewInPopover = CGSizeMake(320, 244); 

    //create a popover controller 
    UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverContent]; 
    CGRect popoverRect; 
    popoverRect.origin.x =323; 
    popoverRect.origin.y = 713; 
    popoverRect.size.height = 215; 
    popoverRect.size.width = 70; 




    [popoverController presentPopoverFromRect:popoverRect 
    inView:self.view 
    permittedArrowDirections:UIPopoverArrowDirectionDown 
    animated:YES]; 


    //release the popover content 
    [popoverView release]; 
    [popoverContent release]; 

現在的問題是,我酥料餅被顯示,但它完全是黑色的,我掙扎在這個請告訴我,我在做什麼錯誤或更正代碼謝謝大家幫忙

+0

嘗試設置選取器視圖的框架等於彈出界限。您還應該從其先前的超級視圖中移除pickerview。 –

+0

我明白如何設置選擇器視圖相同的popover,但如何從超級視圖中刪除,你可以顯示一些東西 – java

+0

我不知道如何設置大小:( – java

回答

1

似乎您的選取器視圖隱藏在彈出式窗口的某處,因爲框架尚未正確設置。所以要儘量設置選擇器視圖的幀等於流行過的邊界爲起點:

pickerView.frame = popoverView.bounds; 

但添加的選擇器視圖,在彈出了一個子視圖之前,你需要刪除從超級視圖中正確選擇視圖。

現在,默認情況下,Xcode會生成IBOutlet,如weak屬性,這將導致選擇器視圖在從超級視圖中移除時解除分配。因此,您需要首先聲明選擇器視圖爲屬性。

之後,你就可以從目前的上海華盈刪除:

[pickerView removeFromSuperview]; 

你應該保持到流行過視圖控制器的引用,例如宣稱它是一個屬性,並調用dismissPopoverAnimated駁回流行正確地結束。