Yn sicr, dyma drosolwg manwl o sut y gallwch chi newid maint Switsh SwiftUI yn Swift.
SwiftUI yw fframwaith Apple i adeiladu rhyngwynebau defnyddwyr ar draws holl lwyfannau Apple gyda phŵer Swift. Weithiau, efallai y bydd datblygwyr yn dod ar draws yr angen i addasu maint cydrannau UI penodol, fel switsh. Yn ddiofyn, nid yw SwiftUI yn caniatáu newid maint Switch yn uniongyrchol, ond gallwn ddefnyddio rhai atebion i gyflawni hyn.
Gadewch i ni blymio i mewn i'r ateb i'r broblem.
Creu Newid Personol yn SwiftUI
I addasu maint Switch yn SwiftUI, un dull yw creu Switch wedi'i deilwra. Mae hyn yn caniatáu ichi gael rheolaeth lwyr dros ymddangosiad a maint y Switch.
Dyma enghraifft o god sy'n creu switsh arferol:
struct CustomSwitch: View { @Binding var isOn: Bool var body: some View { Button(action: { self.isOn.toggle() }) { Rectangle() .fill(self.isOn ? Color.green : Color.gray) .frame(width: 50, height: 30) .overlay(Circle() .fill(Color.white) .offset(x: self.isOn ? 10 : -10), alignment: self.isOn ? .trailing : .leading) .cornerRadius(15) .animation(.spring()) } } }
Deall y Cod Newid Custom
Gadewch i ni ddadansoddi beth mae'r cod hwn yn ei wneud:
- Mae strwythur CustomSwitch: Mae hyn yn diffinio ein Gwedd SwiftUI arferol. Mae ganddo rwymiad i werth boolean - cyflwr y switsh.
- Gweithred botwm: Mae'r bloc cod Swift hwn yn nodi'r ymddygiad pan fydd y botwm yn cael ei wasgu. Yma, yn syml toglo'r cyflwr “isOn”.
- Petryal: Enghraifft o strwythur Petryal SwiftUI, sy'n diffinio priodweddau'r siâp.
- Lliw llenwi: Mae lliw y Petryal yn dibynnu a yw “isOn” yn wir neu'n anwir.
- Frame: Mae'r addasydd ffrâm yma yn nodi lled ac uchder y switsh arferiad.
- Troshaen: Mae'r addasydd troshaen yn caniatáu ichi haenu Golygfa SwiftUI arall ar ben yr un presennol - yma, Cylch gwyn sy'n gwasanaethu fel bwlyn switsh.
- Gwrthbwyso: Defnyddir y addasydd gwrthbwyso yma i symud y Cylch yn dibynnu a yw “isOn” yn wir neu'n anwir, gan roi'r argraff bod y switsh yn toglo.
- radiws cornel: Mae hyn yn berthnasol i dalgrynnu i gorneli'r Petryal gwaelodol.
- animeiddiad: Mae'r addasydd animeiddiad yn cymhwyso animeiddiad spring() i'r Botwm cyfan - felly pan fyddwch chi'n newid, bydd yn toglo'n esmwyth.
Lapio Up
Gall meddu ar y gallu i addasu maint Switsh SwiftUI fod yn fantais wrth deilwra'r rhyngwyneb defnyddiwr i gyd-fynd ag anghenion cymhwysiad penodol. Rydyn ni wedi dysgu un dull o gyflawni hyn trwy greu Switch wedi'i deilwra. Codio hapus!
Cofiwch: Mae SwiftUI yn eithaf hyblyg ac yn addasadwy. Mae croeso i chi addasu'r gwerthoedd a'r priodweddau yn y cod uchod i gyd-fynd yn well â'ch anghenion prosiect a dylunio. Os oes angen i chi newid maint unrhyw gydrannau UI eraill, gellir cymhwyso'r dull creu arfer yn yr un ffordd fwy neu lai.