Hoe krijg ik de schermbreedte en -hoogte in iOS?
Hoe kan men de afmetingen van het scherm in iOS krijgen?
Momenteel gebruik ik:
lCurrentWidth = self.view.frame.size.width;
lCurrentHeight = self.view.frame.size.height;
in viewWillAppear:
en willAnimateRotationToInterfaceOrientation:duration:
De eerste keer krijg ik de volledige schermgrootte. De tweede keer krijg ik het scherm minus de navigatiebalk.
497
3
Het probleem met de code die je gepost hebt is dat je erop rekent dat de grootte van de view overeenkomt met die van het scherm, en zoals je'hebt gezien is dat'niet altijd het geval. Als je de schermgrootte nodig hebt, moet je kijken naar het object dat het scherm zelf vertegenwoordigt, zoals dit:
Update voor gesplitste weergave: In opmerkingen, Dmitry vroeg:
De code hierboven rapporteert de grootte van het scherm, zelfs in split screen mode. Wanneer u split screen mode gebruikt, verandert het venster van uw app's. Als de bovenstaande code je niet de informatie geeft die je verwacht, dan kijk je, net als de OP, naar het verkeerde object. In dit geval moet je echter naar het venster kijken in plaats van naar het scherm, zoals dit:
Swift 4.2
Voorzichtig, [UIScreen mainScreen] bevat ook de statusbalk, als u het frame voor uw toepassing wilt ophalen (exclusief de statusbalk) moet u gebruik maken van
Ik heb deze gemaksmethoden eerder gebruikt: