2014-11-08 7 views
15

Ho uno UIPageControl con 22 pagine, quindi 22 punti indicatori di pagina. Nel paesaggio su iPhone sono tutti visibili con molto spazio a sinistra ea destra, ma in verticale non c'è abbastanza spazio orizzontale per visualizzare tutti i punti (almeno su iPhone 4 e 5), quindi due non sono visibili e i due esterni sono tagliati a metà.Riduci la dimensione del punto o il riempimento per adattarsi a tutti gli indicatori di pagina sullo schermo con UIPageControl

Sto cercando un modo per ridurre la dimensione dei punti o ridurre la quantità di imbottitura tra i punti per garantire che tutti i punti si adattino sullo schermo in verticale. Come può essere realizzato?

enter image description here

risposta

46

Se si dispone che molti punti, vorrei prendere in seria considerazione un controllo diverso. Ma se si vuole attenersi a UIPageControl, vorrei solo scala verso il basso per adattarsi sullo schermo, con qualcosa come:

pageControl.transform = CGAffineTransformMakeScale(0.7, 0.7); 

Questo scala verso il basso per il 70% della sua dimensione iniziale - Lascio a voi per determinare la migliore scala per le dimensioni dello schermo/numero di pagine.

+2

0,85 è una buona scelta quando si hanno 22 punti :) – Joey

+2

22 punti .. lol questa è una buona battuta :) –

+1

lol .. 22 dots..I può rofl tutto il giorno: D – Sourabh

2

Non si dovrebbe davvero usare un UIPageControl per qualcosa che ha 22 pagine. Che ne dici di provare qualcosa come un'etichetta che restituisce invece un numero. Renderà l'app molto più pulita.

Anche se si desidera VERAMENTE utilizzare la pagina Controllo, la risposta di pbasdf è azzeccata. pageControl.transform = CGAffineTransformMakeScale (0.8, 0.8) dovrebbe fare il trucco.

5

Codice versione Swift 3: basato su pbasdf risposta.

pageControl.transform = CGAffineTransform(scaleX: 0.7, y: 0.7)