Venho experimentando e não encontrei raio de canto conclusivo para o iPhone X.
- Algumas fontes, como o iPhone X Screen Demystified - PaintCode , dizem seus 40pts.
- Alguns dizem que são 44, como o UI Design para iPhone X: Top Elements e Notch - Max Rudberg .
Usando o Xcode, criei um círculo com largura e comprimento de 80 (portanto, raio 40) e o coloquei no canto superior esquerdo do iPhone X (para que xey sejam zero), existe uma pequena lacuna branca entre o círculo e a borda da tela, que você pode ver aqui:
Eu também tentei outro método, fazendo isso com um botão:
button.frame.size.height = 812
button.frame.size.width = 375
button.layer.cornerRadius = 40
button.center = self.view.center
Com isso, fico com:
Então a pergunta é: qual é o raio real dos cantos? Ou o que está acontecendo com o Xcode?
Brad Ellis tem um artigo detalhando as curvas no iPhone X .
Você pode ver a diferença aqui:
fonte
A seguinte linha Objective-C
executado no simulador iOS 11.0.1 no iPhone X produz a seguinte saída:
Parece que em algum momento alguém da Apple pensou que o raio do canto era de 39 pontos. Acho que essa é a resposta mais oficial que teremos. :-) Mas, como as outras respostas explicam, essa informação não é muito útil ...
Informações ainda mais inúteis: Alguns outros simuladores do iOS 11.0 e 11.1 relatam
_UITraitNameDisplayCornerRadius = 0.000000
para iPhones sem cantos arredondados (por exemplo, consulte esta pergunta do SO ), mas o simulador para o iOS 12.2 não inclui a_UITraitNameDisplayCornerRadius
propriedade na saída de logUITraitCollection
e nem um iPhone X real executando o iOS 11.2.1. Eu acho que eles removeram essa propriedade da saída de log no iOS 11.2 ou mais.PS: Acho que não importa, mas obtive esses resultados no Xcode 10.1.
fonte
A forma dos cantos não pode ser descrita como um arco. No entanto, ele pode ser reproduzido usando a API pública, pois o iOS 11.
UIBezierPath.init(roundedRect:cornerRadius:)
criará um retângulo com cantos arredondados contínuos.Fonte: https://medium.com/fueled-engineering/continuous-rounded-corners-with-uikit-b575d50ab232
O iOS 13 introduziu uma
cornerCurve
propriedade explícita no CALayer: https://developer.apple.com/documentation/quartzcore/calayercornercurvefonte