Я использовал этот хороший учебник для создания пользовательского класса UIPopoverBackgroundView.
Это хорошо работает. Единственная проблема заключается в том, что я не получаю типичную тень тени UIPopoverController, и я хочу ее. Я попытался указать его на уровне моего экземпляра UIPopoverBackgroundView без успеха. Мой экземпляр UIPopoverController, похоже, не имеет публичного представления для манипулирования. Добавление его к содержимому popover также не работает.
Вероятно, очень просто: как добавить тень при использовании пользовательского класса 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;
}