UIPopoverController: Warum ist mein popover nicht erscheint wo ich will?
Einfach:
Eine Ansicht, präsentiere ich einen UIPopoverController in einem CGRect mit presentPopoverFromRect...
und weder der Pfeil-oder der popover-frame angezeigt, auch in der Nähe zu den Koordinaten, die ich bat, in die rect-ich ging in.
Irgendwelche Hinweise?
Ich habe versucht, herauszufinden, diese selbst aber bin, aufzugeben. Hier ist der code:
if(!myContentController){
myContentController = [[MyContentController alloc] initWithNibName:myNibName bundle:[NSBundle mainBundle]];
//This works pretty well. actually when i show the popover
//i see everything inside as it's supposed to.
}
if(!popover){
popover = [[UIPopoverController alloc] initWithContentViewController:myContentController];
}
else{
[popover setContentController:myContentController];
}
popover.delegate = self;
CGPoint touchPointInView = [self touchPoint];//This is working fine too.I've been checking with NSLog.
popover.ContentSize = myPopoverSize;//In this case {320,480}
[popover presentPopoverFromRect:CGRectMake(touchPoint.x,touchPoint.y,myPopoverSize.width,myPopverSize.height)
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
Was passiert als Nächstes? das popover nicht zeigt, wo es sein sollte. Wenn ich gehen {0,0} es zeigt in der Mitte des Bildschirms, als ob die Größe der view wurden (768,512). Ich überprüfte alle anzeigen Abmessungen und Sie sind alle ok, Rahmen,Grenzen, usw... . Wer weiß, was mache ich falsch?
- könnten Sie die post-code ?
- sorry, ich werde es tun, bald.Aber ist die Standard-precedure, auch in irgendwo anders im code, den ich verwenden die gleichen popover anzeigen etwas und es funktioniert. Vielleicht damit in Zusammenhang.
- OK, stellen Sie sicher, Sie sind vorbei die richtige Ansicht presentPopoverFromRect ..
- ja, bin ich, aber ich thnk das problem ist, dass ich mit der gleichen popover ich angezeigt, die in einem anderen Ort mit einem anderen contentviewController auf diplay dieser neuen viewcontroller ich will.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den CGRect Sie geben presentPopoverFromRect ist die rect, dass es angezeigt wird das popover nächsten (nicht in). Abhängig von der Position des rect, der popover erscheint auf einer entsprechenden Seite angegebenen rect.
Wenn Sie möchten, dass das popover angezeigt werden an einem bestimmten Punkt, geben Sie es ein Rechteck mit dem Ursprung als Punkt, und die Größe ist 1,1. Also die CGRectMake in der presentPopoverFromRect Zeile sollte sein:
Stellen Sie außerdem sicher, dass der touchPoint-ist-relativ zu den inView (selbst.Ansicht in deinem Fall).
Übrigens, es gibt ein paar andere Fehler im code (wahrscheinlich nur Tippfehler in der Frage):
In meinem Fall der Grund dieses Problems war folgende. Es ist auch möglich, dass deine view ist ein tableView. Also, wenn Sie einen Bildlauf durchführen und versuchen zu zeigen, UIPopover in einem rect in tableView, es kann nicht gezeigt werden. Ich habe diese: