Toki, tรคssรค on yksityiskohtainen katsaus siitรค, kuinka voit muuttaa SwiftUI-kytkimen kokoa Swiftissรค.
SwiftUI on Applen kehys kรคyttรถliittymien rakentamiseen kaikille Apple-alustoille Swiftin avulla. Joskus kehittรคjรคt saattavat kohdata tarpeen sรครคtรครค tiettyjen kรคyttรถliittymรคkomponenttien, kuten kytkimen, kokoa. Oletusarvoisesti SwiftUI ei salli kytkimen koon muuttamista suoraan, mutta voimme kรคyttรครค joitakin kiertotapoja tรคmรคn saavuttamiseksi.
Sukellaanpa ongelman ratkaisuun.
Mukautetun kytkimen luominen SwiftUI:ssa
Yksi tapa sรครคtรครค kytkimen kokoa SwiftUI:ssa on luoda mukautettu kytkin. Nรคin voit hallita tรคysin kytkimen ulkonรคkรถรค ja kokoa.
Tรคssรค on esimerkki koodista, joka luo mukautetun kytkimen:
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()) } } }
Mukautetun kytkinkoodin ymmรคrtรคminen
Selvitetรครคn, mitรค tรคmรค koodi tekee:
- CustomSwitch-rakenne: Tรคmรค mรครคrittรครค mukautetun SwiftUI-nรคkymรคmme. Sillรค on sidos loogiseen arvoon โ kytkimen tilaan.
- Painikkeen toiminta: Tรคmรค Swift-koodilohko mรครคrittรครค toiminnan, kun painiketta painetaan. Vaihda tรคssรค yksinkertaisesti "isOn" -tila.
- Suorakulmio: Esimerkki SwiftUI:n suorakulmiorakenteesta, joka mรครคrittรครค muodon ominaisuudet.
- Tรคyttรถvรคri: Suorakulmion vรคri riippuu siitรค, onko "isOn" tosi vai epรคtosi.
- Runko: Tรคssรค oleva kehyksen muokkaaja ilmoittaa mukautetun kytkimen leveyden ja korkeuden.
- overlay: Peittokuvan muokkaajan avulla voit kerrostaa toisen SwiftUI-nรคkymรคn nykyisen pรครคlle โ tรคssรค on valkoinen ympyrรค, joka toimii kytkinnupina.
- offset: Offset-muuttajaa kรคytetรครคn tรคssรค siirtรคmรครคn ympyrรครค sen mukaan, onko "isOn" tosi vai epรคtosi, mikรค antaa illuusion kytkimen vaihtamisesta.
- kulman sรคde: Tรคmรค koskee pyรถristystรค alla olevan suorakulmion kulmiin.
- animaatio: Animaatiomuuttaja kรคyttรครค spring()-animaatiota koko painikkeeseen โ joten kun vaihdat, se vaihtuu tasaisesti.
Kรครคrimistรค
Mahdollisuus mukauttaa SwiftUI-kytkimen kokoa voi olla etu, kun kรคyttรถliittymรครค rรครคtรคlรถidรครคn vastaamaan tiettyjรค sovellustarpeita. Olemme oppineet yhden lรคhestymistavan tรคmรคn saavuttamiseksi luomalla mukautetun kytkimen. Hyvรครค koodausta!
Muistaa: SwiftUI on melko joustava ja muokattavissa. Voit vapaasti sรครคtรครค yllรค olevan koodin arvoja ja ominaisuuksia vastaamaan paremmin projektisi ja suunnittelutarpeesi. Jos sinun on muutettava muiden kรคyttรถliittymรคkomponenttien kokoa, mukautettua luontitapaa voidaan soveltaa lรคhes samalla tavalla.