Domanda

Per personalizzare l'aspetto visivo di un UISlider è possibile impostare il pollice e tenere traccia delle immagini. Parte delle immagini della pista viene allungata fino al appropriato con. Dalla documentazione:

  

Una regione estensibile si trova tra due   regioni tappo. Le testate definiscono   le porzioni dell'immagine che rimangono   come è e non sono allungati. Il   regione estensibile è una vasta 1 punto   zona tra le testate che possono essere   replicato per far apparire l'immagine   più a lungo.

Ora il problema che ho è che la mia regione estensibile ha bisogno di essere più di 1 punto di larghezza. (E 'un modello) Purtroppo la larghezza di 1 punto sembra essere codificato duro nel SDK.

Chiunque abbia un'idea di come ovviare a questo? Oppure dovrò scrivere il mio cursore da zero per questo?

È stato utile?

Soluzione

Credo che si dovrà scrivere il proprio dispositivo di scorrimento per farlo. Non sembra esserci alcuna API (pubblico) per modificare il comportamento di UISlider per quanto riguarda la regione estensibile.

Altri suggerimenti

Basta usare immagini trasparenti come le immagini della pista, e mettere un UIImageView sotto :)

Lo so che è risposta in ritardo.

Ma ho risolto il problema come il seguente:

4 è la larghezza della calotta rotonda nel file PNG.

UIImage *minimum = [UIImage imageNamed:@"slider_minimum.png"];
[slider setMinimumTrackImage:[minimum stretchableImageWithLeftCapWidth:4 topCapHeight:0]
                      forState:UIControlStateNormal];

Si può solo creare le immagini di essere il più ampia di cui hai bisogno loro di essere, con il modello pre-renderizzati.

È necessario inizializzare la vostra immagine con stretchableImageWithLeftCapWidth: topCapHeight :. leftCapWidth e topCapHeight sono immobili in oggetti immagine di sola lettura, ma usando questa funzione è possibile impostare. È possibile impostare solo la sinistra e in alto, perché i tappi destra e sinistra hanno le stesse dimensioni, e la parte superiore e quella inferiore sono anche lo stesso. Così, per usare una pista di scorrimento personalizzato con una dimensione lato sinistro del 5 pixel, è necessario disporre di un'immagine di larghezza 11 pixel, con qualsiasi altezza è necessario: 5 per il tappo a sinistra, 1 pixel di larghezza che è allungata per la pista, e altri 5 per il diritto. Non avendo giocato con lui, non so se si utilizza un topCapHeight maggiore di 0 funziona come previsto, ma ho il sospetto che non causerebbe una grande quantità di problemi.

Volevo uno schema dietro la mia UISlider. Ho finito per impostare entrambe le immagini a zero e l'aggiunta di una vista sotto il cursore dato che non ho bisogno di essere diversi su entrambi i lati del pollice. Questo sarebbe più difficile se si ha bisogno di cambiarlo in base alla posizione, ma abbastanza fattibile.

per rendere la vostra abitudine UISlider hai molti modi. A seconda di cosa si desidera personalizzazione. ci sono le proprietà di default che è possibile impostare per personalizzare l'UIslider, come segue: setThumbImage: forState: setMinimumTrackImage: forState: setMaximumTrackImage: forState: Se si vuole un'ulteriore personalizzazione è possibile consultare il link in basso https://medium.com/@0209neha/creating-a -custom-uislider-7756bf898832 # .o1l4qhymo https://github.com/0209Neha/ExploringSlider

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top