He estado experimentando y no he encontrado un radio de esquina concluyente para el iPhone X.
- Algunas fuentes, como iPhone X Screen Demystified - PaintCode , dicen que son 40 puntos.
- Algunos dicen que es 44, como UI Design para iPhone X: Top Elements y Notch - Max Rudberg .
Usando Xcode, creé un círculo con un ancho y una longitud de 80 (entonces radio 40), y lo puse en la esquina superior izquierda del iPhone X (para que x e y sean cero), hay un pequeño espacio blanco entre el círculo y el borde de la pantalla, que puedes ver aquí:
También probé otro método, haciendo esto con un botón:
button.frame.size.height = 812
button.frame.size.width = 375
button.layer.cornerRadius = 40
button.center = self.view.center
Con esto me queda:
Entonces la pregunta es, ¿cuál es el radio de la esquina real? ¿O qué está pasando con Xcode?
Brad Ellis tiene un artículo que detalla las curvas en el X iPhone .
Puedes ver la diferencia aquí:
fuente
La siguiente línea de Objective-C
ejecutado en el simulador iOS 11.0.1 en el iPhone X produce el siguiente resultado:
Parece que en algún momento, alguien en Apple pensó que el radio de la esquina era de 39 puntos. Supongo que esa es la respuesta más oficial que obtendremos. :-) Pero como explican las otras respuestas, esa información no es muy útil ...
Aún más información inútil: algunos otros simuladores de iOS 11.0 y 11.1 informan
_UITraitNameDisplayCornerRadius = 0.000000
para iPhones sin esquinas redondeadas (por ejemplo, vea esta pregunta SO ), pero el simulador para iOS 12.2 no incluye la_UITraitNameDisplayCornerRadius
propiedad en la salida del registroUITraitCollection
, y tampoco lo hace un iPhone X real ejecutando iOS 11.2.1. Supongo que eliminaron esta propiedad de la salida del registro en iOS 11.2 más o menos.PD: Supongo que no importa, pero obtuve estos resultados en Xcode 10.1.
fuente
La forma de las esquinas no puede describirse como un arco. Sin embargo, puede reproducirse utilizando una API pública ya que iOS 11.
UIBezierPath.init(roundedRect:cornerRadius:)
creará un rectángulo con esquinas redondeadas continuas.Fuente: https://medium.com/fueled-engineering/continuous-itated-corners-with-uikit-b575d50ab232
iOS 13 introdujo una
cornerCurve
propiedad explícita en CALayer: https://developer.apple.com/documentation/quartzcore/calayercornercurvefuente