2013-08-28 56 views
1

我在寫一個應用程序,需要產生一個popover以添加一個新的筆記。爲此,我有一些類似的技巧,但是,我似乎無法調整popover的大小。這是我如何產卵它:無法更改UIPopover的大小?

UIButton* btn =sender; 
UIViewController* fooTroller = [[UIViewController alloc] init]; 

CGRect rectFoo = CGRectMake(0, 0, 100, 100); 
UIView* fooView = [[UIView alloc] initWithFrame:rectFoo]; 
[fooView setBackgroundColor:[UIColor redColor]]; 
[fooTroller setView:fooView]; 
popOver =[[UIPopoverController alloc] initWithContentViewController:fooTroller]; 

[popOver presentPopoverFromRect:btn.frame 
         inView:self.view 
     permittedArrowDirections:UIPopoverArrowDirectionLeft 
         animated:YES]; 

有什麼想法?它不尊重視圖大小。

回答

3

您不應該在視圖控制器上調用setView:。讓視圖控制器設置自己的視圖。

調整彈出窗口大小的正確方法是覆蓋視圖控制器的contentSizeForViewInPopover方法以返回大小或設置彈出窗口上的popoverContentSize屬性。

UIButton* btn =sender; 
UIViewController* fooTroller = [[UIViewController alloc] init]; 

popOver = [[UIPopoverController alloc] initWithContentViewController:fooTroller]; 
popOver.popoverContentSize = CGSizeMake(100, 100); 

[popOver presentPopoverFromRect:btn.frame 
         inView:self.view 
     permittedArrowDirections:UIPopoverArrowDirectionLeft 
         animated:YES]; 
+0

謝謝。所以如果我有一個自定義用戶界面,我想在popover中,我將如何顯示它? – easythrees

+0

就像任何其他屏幕一樣 - 您可以使用任何視圖和邏輯創建自定義視圖控制器類。 – rmaddy

+0

好的,該視圖需要編程,但我會研究。謝謝! – easythrees