J'ai un UIScrollview à échelle variable et à défilement sur lequel je peux placer des vues (pensez à des objets de dessin, des cercles, des carrés, etc.) Je place un carré et je tape et maintiens, le menu s'affiche et je sélectionne Propriétés. Je passe le square.frame pour le rectangle et le popover est parfait là où il peut tenir dans le UIScrollView.
Maintenant, je mets à l'échelle le UIScrollView de sorte que le carré soit plus grand que la zone visible de l'écran. Je tape et je maintiens, je sélectionne les propriétés, et le Popover est présenté quelque part, mais pas là où je peux le voir.
Je ne suis pas sûr de savoir comment détecter, du point de vue du carré, si celui-ci est plus grand que la zone visible de la zone zoomée de la super.view et présenter le Popover d'un autre point de vue.
En zoom arrière, le carré est complètement visible et il y a de la place pour un popover sur la toile.
self.frame: {{0, 659.959}, {1846.72, 1388.04}}
self.superview.frame: {{0, 0}, {1024, 1024}}
self.superview.superview.frame: {{0, 44}, {1024, 704}}
self.superview.superview.superview.frame:{{0, 0}, {1024, 748}}
Zoom avant, le carré couvre tout l'écran.
self.frame: {{0, 659.959}, {1846.72, 1388.04}}
self.superview.frame: {{0, 0}, {3180.31, 3180.31}}
self.superview.superview.frame: {{0, 44}, {1024, 704}}
self.superview.superview.superview.frame:{{0, 0}, {1024, 748}}
Zoom maximum, mais défilé de manière à laisser de la place pour le popover sur la toile.
self.frame: {{0, 659.96}, {1822.62, 1369.96}}
self.superview.frame: {{0, 0}, {4096, 4096}}
self.superview.superview.frame: {{0, 44}, {1024, 704}}
self.superview.superview.superview.frame:{{0, 0}, {1024, 748}}
Il ne semble pas y avoir de différence dans le dernier orteil pour vraiment dire que le carré recouvre l'écran ou qu'il n'est visible qu'en partie.
Toutes les suggestions sont les bienvenues !