>How to delete the pop-up arrow on the iPad?
>Is there a way to delete the black border of the popover?
If it is not possible, can you suggest a way to display a UIView (popover) on the top of the screen without arrows and borders (maybe a light transparent border) on the iPad, please? Thank you very much.
And I think ModalView is not a suitable option because it cannot be resized and cannot be dismissed by clicking on the external modal view.
This is a hack, but it Basically it works. In the context of the view controller managed by the pop-up controller, during viewWillAppear:, get the pop-up window and delete the first layer, which is the content that presents the arrow and border:
< p>
- (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];
} pre>I think you can try to add your own layer to render the background/border the way you want.
Basically these are two problems :
>How to delete the pop-up view arrow on the iPad?
>Is there a way to delete the black border of the popover?
If it is not possible, can you suggest a way to display a UIView (popover) on the top of the screen without arrows and borders (maybe a light transparent border) on the iPad, please? Thank you very much.
And I think ModalView is not a suitable option because it cannot be resized and cannot be dismissed by clicking the external modal view.
p>AFIK has no built-in way to specify "no arrow", or popup without borders.
This is a hack, but it is basically effective. It is managed by the popup controller In the context of the view controller, during viewWillAppear:, get the pop-up window and delete the first layer, which is the content of the arrow and border:
- (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];
}
I think you can try to add you Your own layer, render the background/border the way you want.