2011-01-21 57 views
6

基本上這是兩個問題:如何刪除iPad的酥料餅的箭頭,其框架邊框

  1. 如何刪除iPad的酥料餅的視圖的箭頭?

  2. 有什麼辦法可以刪除popover的黑色邊框嗎?

如果沒有可能,你可以建議在iPad上的方式顯示在屏幕頂部的UIView的(酥料餅),而箭頭和邊界(可能是光透明邊框)嗎?非常感謝。

而且我不認爲ModalView是一個合適的選項,因爲它不能調整大小,並且不能通過單擊外部模態視圖來解除。

+0

謝謝大家。似乎沒有直接的方法來刪除這些,必須定製popover。我在想的是實現一個全屏透明UIView,並在頂部添加另一個較小尺寸的視圖。所以當它顯示時,它就像一個彈出窗口。 – Aragon 2011-01-21 10:09:33

回答

2

你不能刪除popover周圍的鉻。你最好的選擇是重新實現popover的想法,但使用自定義代碼。

7

AFIK沒有內置的方式來指定「無箭頭」或彈出無邊界。

這是一個黑客,但它基本上工作。在由彈出控制器,viewWillAppear中時管理的視圖控制器的情況下:,得到了彈出窗口並移除第一層,這是什麼使得箭頭和邊界:

- (void) viewWillAppear: (BOOL) animated 
{ 
    [super viewWillAppear: animated]; 

    UIView* v = self.view.superview; 
    NSLog(@"%@", NSStringFromClass([v class])); // this should print UIView 

    v = v.superview; 
    NSLog(@"%@", NSStringFromClass([v class])); // this should print UIPopoverView 

    [[v.layer.sublayers objectAtIndex:0] removeFromSuperlayer]; 
}  

我想你可以嘗試添加自己的圖層,以您想要的方式呈現背景/邊框。

+1

很好,謝謝。一些註釋:你需要`#import `。另外,記得在任何輪換之前關閉popover控制器,否則你會得到一個EXC_BAD_ACCESS。 – martip 2011-06-14 15:55:40

+0

刪除圖層是一個非常糟糕的主意,當您提交給appStore時,您可能會被蘋果拒絕。看看這個解決方案在這裏:https://github.com/werner77/WEPopover – oberthelot 2011-11-09 19:54:25

7

如何刪除iPad的popover視圖的箭頭?

當調用-presentPopoverFromBarButtonItem:permittedArrowDirections:時,將0作爲第二個參數,而不是任何常量。這沒有記錄,但Apple使用此設置時允許App Store中的應用程序。

1
  • 您不能刪除箭頭或邊框。如果您按照TomSwift的建議進行某種黑客攻擊,則可能會導致崩潰拒絕蘋果提交appStore的應用程序。

  • 雖然你可以按照Kevin的建議實現你自己的定製popover, 你可以在這裏找到一個開源項目:https://github.com/werner77/WEPopover。 Backgound和箭頭可以從中刪除或設置爲透明。