J'ai expérimenté et je n'ai trouvé aucun rayon de coin concluant pour l'iPhone X.
- Certaines sources, comme iPhone X Screen Demystified - PaintCode , disent ses 40 pts.
- Certains disent que c'est 44, comme UI Design pour iPhone X: Top Elements and the Notch - Max Rudberg .
En utilisant Xcode, j'ai créé un cercle d'une largeur et d'une longueur de 80 (donc rayon 40), et je l'ai mis dans le coin supérieur gauche de l'iPhone X (donc x et y sont nuls), il y a un petit espace blanc entre le cercle et le bord de l'écran, que vous pouvez voir ici:
J'ai également essayé une autre méthode, en faisant cela avec un bouton:
button.frame.size.height = 812
button.frame.size.width = 375
button.layer.cornerRadius = 40
button.center = self.view.center
Avec cela, je me retrouve avec:
Donc la question est, quel est le vrai rayon de coin? Ou que se passe-t-il avec Xcode?
Brad Ellis a un article détaillant les courbes sur l'iPhone X .
Vous pouvez voir la différence ici:
la source
La ligne Objective-C suivante
exécuté dans le simulateur iOS 11.0.1 sur l'iPhone X produit la sortie suivante:
Il semble donc qu'à un moment donné, quelqu'un chez Apple pensait que le rayon du coin était de 39 points. Je suppose que c'est la réponse la plus officielle que nous obtiendrons. :-) Mais comme les autres réponses l'expliquent, ces informations ne sont pas très utiles ...
Des informations encore plus inutiles: certains autres simulateurs iOS 11.0 et 11.1 signalent
_UITraitNameDisplayCornerRadius = 0.000000
des iPhones sans coins arrondis (par exemple, voir cette question SO ), mais le simulateur pour iOS 12.2 n'inclut pas la_UITraitNameDisplayCornerRadius
propriété dans la sortie du journal pourUITraitCollection
, et un véritable iPhone X non plus exécutant iOS 11.2.1. Je suppose qu'ils ont supprimé cette propriété de la sortie du journal dans iOS 11.2.PS: Je suppose que cela n'a pas d'importance, mais j'ai obtenu ces résultats sur Xcode 10.1.
la source
La forme des coins ne peut pas être décrite comme un arc. Il peut cependant être reproduit à l'aide de l'API publique puisque iOS 11.
UIBezierPath.init(roundedRect:cornerRadius:)
créera un rectangle avec des coins arrondis continus.Source: https://medium.com/fueled-engineering/continuous-rounded-corners-with-uikit-b575d50ab232
iOS 13 a introduit une
cornerCurve
propriété explicite sur CALayer: https://developer.apple.com/documentation/quartzcore/calayercornercurvela source