我用這個好的tutorial來創建一個自定義的UIPopoverBackgroundView類。自定義UIPopoverBackgroundView:沒有投影
它運作良好。唯一的問題是我沒有得到典型的UIPopoverController陰影,我想要它。我試過在我的UIPopoverBackgroundView實例的層上指定它,但沒有成功。我的UIPopoverController實例似乎沒有公共視圖來操作。將它添加到彈出窗口內容也不起作用。
可能很簡單:如何在使用自定義UIPopoverBackgroundView類時添加投影?
// UIPopoverBackgroundView.m
-(id)initWithFrame:(CGRect)frame{
if (self = [super initWithFrame:frame]) {
_borderImageView = [[UIImageView alloc] initWithImage:[[UIImage imageNamed:@"bg-popover.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(CAP_INSET,CAP_INSET,CAP_INSET,CAP_INSET)]];
_arrowView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg-popover-arrow.png"]];
[self addSubview:_borderImageView];
[self addSubview:_arrowView];
self.layer.shadowOffset = CGSizeMake(50, 50);
self.layer.shadowColor = [[UIColor blackColor] CGColor];
}
return self;
}
非常感謝你爲這個! – 2012-05-26 17:52:55
只是想我會補充說這對我有效,但我有性能問題。柵格化背景圖層非常有幫助:'backgroundImageView.layer.shouldRasterize = YES;' – Maurizio 2012-07-04 16:26:22
有趣 - 我沒有注意到任何明顯的滯後(在iPad 2上),但很好知道。 – 2012-07-04 16:33:02