Saya telah bereksperimen dan tidak menemukan radius sudut konklusif untuk iPhone X.
- Beberapa sumber, seperti iPhone X Screen Demystified - PaintCode , mengatakan 40pts-nya.
- Ada yang bilang itu 44, seperti Desain UI untuk iPhone X: Elemen Top dan Takik - Max Rudberg .
Menggunakan Xcode, saya membuat lingkaran dengan lebar dan panjang 80 (jadi jari-jari 40), dan meletakkannya di sudut kiri atas iPhone X (jadi x dan y adalah nol), ada celah putih kecil di antara lingkaran. dan tepi layar, yang bisa Anda lihat di sini:
Saya juga mencoba metode lain, melakukan ini dengan tombol:
button.frame.size.height = 812
button.frame.size.width = 375
button.layer.cornerRadius = 40
button.center = self.view.center
Dengan ini saya dibiarkan dengan:
Jadi pertanyaannya adalah, apa radius sudut yang sebenarnya? Atau apa yang terjadi dengan Xcode?
Brad Ellis memiliki sebuah artikel merinci kurva pada iPhone X .
Anda dapat melihat perbedaannya di sini:
sumber
Baris Objective-C berikut
dieksekusi di simulator iOS 11.0.1 di iPhone X menghasilkan output berikut:
Jadi sepertinya di beberapa titik waktu, seseorang di Apple berpikir radius sudut adalah 39 poin. Saya kira itulah jawaban paling resmi yang akan kami dapatkan. :-) Tetapi seperti yang dijelaskan oleh jawaban lain, informasi itu tidak terlalu berguna ...
Bahkan informasi yang lebih berguna: Beberapa simulator iOS 11.0 dan 11.1 lainnya melaporkan
_UITraitNameDisplayCornerRadius = 0.000000
untuk iPhone tanpa sudut-sudut (mis. Lihat pertanyaan SO ini ), tetapi simulator untuk iOS 12.2 tidak menyertakan_UITraitNameDisplayCornerRadius
properti dalam output log untukUITraitCollection
, dan begitu pula iPhone X nyata menjalankan iOS 11.2.1. Saya kira mereka menghapus properti ini dari output log di iOS 11.2 atau lebih.PS: Saya kira itu tidak masalah, tapi saya mendapatkan hasil ini di Xcode 10.1.
sumber
Bentuk sudut tidak bisa digambarkan sebagai busur. Namun itu dapat direproduksi menggunakan API publik karena iOS 11.
UIBezierPath.init(roundedRect:cornerRadius:)
akan membuat persegi panjang dengan sudut bulat terus menerus.Sumber: https://medium.com/fueled-engineering/continuous-rounded-corners-with-uikit-b575d50ab232
iOS 13 memperkenalkan
cornerCurve
properti eksplisit di CALayer: https://developer.apple.com/documentation/quartzcore/calayercornercurvesumber