2015-06-25 12 views
5

Ho notato che alcune dimensioni dei pulsanti sembrano grandiose su un simulatore di iPhone 5 ma non sembrano buone sul simulatore iPhone 6 e questo è dovuto alle altezze o ai vincoli che ho posto sugli UIButtons finiscono lasciando un sacco di spazio nella parte inferiore della schermata dell'app.Fare un UIButton a% delle dimensioni dello schermo

Mi piacerebbe avere un pulsante che corrisponde al 40% delle dimensioni dello schermo indipendentemente dal dispositivo su cui sto simulando.

Qualche idea su come rendere le dimensioni del pulsante rimane il 40% delle dimensioni dello schermo indipendentemente dal dispositivo?

+0

C'è un vincolo chiamato rapporto di aspetto vincolo, se Ctrl + clic su UIButton e trascinare per lo stesso UIButton Sembrerebbe che vincolo. Questo vincolo fa sì che UIbutton mantenga la stessa proporzione in tutti i dispositivi. –

risposta

8
  1. Ctrl trascinare da pulsante a superview e selezionare Larghezze uguali
  2. Open Size Inspector modifica il vincolo di Larghezze Uguali e imposta il moltiplicatore su 0.4. E vedrete qualcosa di simile: enter image description here

  3. Aggiungere vincoli mancanti e aggiornare i frame.

enter image description here

1

Non è possibile impostare un vincolo sul 40% dell'altezza dello schermo. Tuttavia, se il pulsante ha sempre un 20px in testa e in coda alla superview, puoi utilizzare quella larghezza e impostare un rapporto altezza/altezza.

Un altro modo potrebbe essere utilizzare UIScreen.mainScreen().bounds.size.height * 0.4 per l'altezza del pulsante.

Un terzo modo consiste nell'utilizzare il superview del pulsante per impostare l'altezza. Supponendo che il tuo pulsante sia figlio diretto della vista di UIViewController: view.bounds.size.height * 0.4.

Probabilmente ci sono un sacco di altri modi per farlo, ma nessuno di questi comporterà l'impostazione dell'altezza di una percentuale effettiva per quanto ne so.

0

Questa funzione vi dà i limiti dello schermo

var bounds = UIScreen.mainScreen().bounds

e quindi è possibile impostare la larghezza del tasto multipliying 0,4 x bounds.size.width

saluti

Problemi correlati