En créant un UIView personnalisé similaire à la vue UIPopover, je sous-classe simplement la classe UIView et compile les commandes et les événements à l'intérieur .. pour afficher cette vue J'assigne le superView à My sub classe source de données comme celui-ciRenvoyer un UIView personnalisé comme dans UIPopoverController
if ([dataSource respondsToSelector:@selector(containerView)])
superView = [dataSource containerView];
et de montrer que j'ai une fonction faisant cela comme ça
- (void) showPopOverFromRect : (CGRect) rect
{
CGSize popSize = self.frame.size;
float yPoint;
if(ntPopOverDirection == NTPopOverArrowDirectionUP)
yPoint = rect.origin.y + 10;
else
yPoint = rect.origin.y - 10;
self.frame = CGRectMake(rect.origin.x - popSize.width, yPoint , popSize.width, popSize.height);
[superView addSubview:self];
}
Ma question .. comment puis-je rejeter ce point de vue (retirer) si le robinet d'utilisateur AnyWhere sur le superView tout comme le UIPopOverController?
oh comme j'ai raté ça! avec quelques modifications cela fonctionne .. merci. –
Que faire si l'utilisateur tape à gauche ou à droite ou au-dessus du popover? Ils ne taperont pas sur le bouton "effacer". – bbarnhart
@bbarnhart mais dans UIPopController si vous tapez n'importe où sauf le popover et à côté de sa flèche il sera rejeté! Alors, quel est le problème avec ça? –