Sto provando a creare un UISlider con una traccia grossa. Ho provato this e funziona quasi. Tuttavia, quando viene visualizzato per la prima volta UISlider, la barra della traccia è normale. Solo quando riceve un evento tattile diventa più denso.Come rendere UISlider più spesso quando viene visualizzato per la prima volta?
Ecco il codice ho aggiunto al mio sottoclasse di UISlider, come raccomandato:
- (CGRect)trackRectForBounds:(CGRect)bounds
{
return bounds;
}
Non capisco come funziona, quindi non riesco a capire il motivo per cui non funziona perfettamente. Ecco le mie domande:
- Come funziona?
- Come posso controllare quanto spesso rende la traccia?
- Come posso influire sulla traccia quando viene disegnato per la prima volta UISlider?
Naturalmente, la terza domanda è la più importante, anche se le altre mi aiuteranno nella mia comprensione.
Un'altra cosa da considerare: quando viene visualizzato per primo, mi nascondo il pollice:
[slider setThumbImage:[[UIImage alloc] init] forState:UIControlStateNormal];
Quando l'utente tocca il dispositivo di scorrimento, visualizzo il pollice in questo modo:
[slider setThumbImage:nil forState:UIControlStateNormal];
I menzionalo perché mi chiedo se questo in qualche modo interferisca con la magia trackRectForBounds.
Grazie!
Bellissime - ottime risposte. Non sai come hai saputo della "implementazione di default" nella domanda 1, ma questo spiega tutto - grazie! – Bob
Tipica risposta stackoverflow. – benjaminhallock
@benjaminhallock Cosa c'è di sbagliato nella mia risposta? –