Ratkaistu: zoomaa nipistämällä

Viimeisin päivitys: 09/22/2023
Kirjoittaja: Swift SourceTrail

Toki, tässä on yksityiskohtainen artikkelisi zoomauksen nipistämällä käyttöön Swiftillä:

Zoomaa nipistämällä, jota kutsutaan merkittäväksi eleeksi käyttöliittymäkokemuksessa, se on nykypäivän interaktiivisten sovellusten perusominaisuus. Tämä ominaisuus lisää käyttökokemusta antamalla käyttäjille mahdollisuuden nähdä yksityiskohtaisempaa sisältöä erityisesti sovelluksissa, kuten valokuvien muokkaus, kartat, e-kirjat ja kaikki zoomaustoiminnot vaativat sovellukset. Aiomme nähdä, kuinka tämä ominaisuus toteutetaan Applen kehittämällä tehokkaalla ja intuitiivisella ohjelmointikielellä Swift.

Swift tukee natiivisti eleitä ja tarjoaa meille UIPinchGestureRecognizer -nimisen API:n . Tästä aloitamme nipistyszoomausominaisuuden toteuttamisen Swift-projektissa.

UIPinchGestureRecognizer

UIPinchGestureRecognizer on erityinen Swiftin tarjoama eleiden tunnistus. Se tulkitsee puristuseleitä, jolloin käyttäjät voivat lähentää tai loitontaa siirtämällä kahta sormea ​​erilleen tai yhdessä. Tämä luokka, osa UIKit-kehystä, kapseloi puristuseleen tiedot objektiin, mikä tekee eleen käsittelystä koodissamme helppoa.

Tarkastellaan nyt askel askeleelta zoomauksen käyttöönoton vaiheittaiseen prosessiin.

Vaiheittainen nipistäminen zoomaukseen

// 1. First, we need to make sure the Image View is enabled for user interaction.
imageView.isUserInteractionEnabled = true

// 2. We declare and initialize the pinch gesture.
let pinchGesture = UIPinchGestureRecognizer(target: self, action: #selector(self.handlePinch))

// 3. We add the pinch gesture to our image view.
imageView.addGestureRecognizer(pinchGesture)

// 4. Then we create the function handlePinch.
@objc func handlePinch(pinch: UIPinchGestureRecognizer) {
  if let view = pinch.view {
    view.transform = view.transform.scaledBy(x: pinch.scale, y: pinch.scale)
  }
  pinch.scale = 1.0
}

Tämän koodin avulla voimme nyt nipistää ja zoomata imageView-kuvaamme.

Tässä skenaariossa isUserInteractionEnabled- ominaisuus sallii kuvanäkymän reagoida käyttäjän toimintoihin. Swift kutsuu automaattisesti määrittelemäämme handlePinch-funktiota aina, kun se tunnistaa nipistyseleen, skaalaten kuvaa nipistyksen mukaisesti.

Muita hyödyllisiä eleiden tunnistajia Swiftissä

Swift tarjoaa UIPinchGestureRecognizerin lisäksi muutamia muita eleentunnistimia. Esimerkiksi UITapGestureRecognizer mahdollistaa napautus-eleiden käsittelyn, kun taas UISwipeGestureRecognizer on rakennettu pyyhkäisy-eleiden käsittelyä varten. Näiden eleiden tunnistaminen voi auttaa tekemään sovelluksistasi dynaamisempia ja käyttäjäystävällisempiä.

Aina kun otat käyttöön uuden eleen, muista asettaa imageView.isUserInteractionEnabled arvoon tosi, koska näkymät eivät yleensä ole oletusarvoisesti käyttäjien vuorovaikutteisia. Tämä varmistaa, että UIImageView pystyy käsittelemään käyttäjän syötteitä, jotka muodostavat elepohjaisten toimintojen ytimen.

Yhteenvetona voidaan todeta, että zoomaus nipistämällä Swiftissä voidaan helposti toteuttaa Swiftin intuitiivisen syntaksin, eletunnistimien ja UIKit-kehyksen syvällisen ymmärtämisen yhdistelmällä.

Related viestiä: