Ho difficoltà ad aggiungere il riempimento sinistro su un UIButton
. Ho un UIButton
con UIControlContentHorizontalAlignmentLeft
. Voglio che il testo sia visualizzato sul lato sinistro, ma è troppo a sinistra. quando do il confine, non sembra buono. Vorrei dare un po 'di padding sul testo di 5px come in CSS. Ho cercato su Google la soluzione, ma non riesco a trovarne una in particolare per UIButton
. Grazie in anticipo per l'aiuto.Come aggiungere padding a sinistra su un UIButton creato a livello di codice?
risposta
titleEdgeInsets i margini ad incasso o sin dall'inizio, per i bordi del rettangolo di disegno titolo tasto.
@property (nonatomic) UIEdgeInsets titleEdgeInsets
discussione Utilizzare questa proprietà per ridimensionare e riposizionare il rettangolo di disegno efficace per il titolo tasto. È possibile specificare un valore diverso per ciascuno dei quattro riquadri (in alto, a sinistra, in basso a destra). Un valore positivo si restringe, o insiemi, che si spostano verso il bordo più vicino al centro del pulsante. Un valore negativo di espande, o supera, quel bordo. Utilizzare la funzione UIEdgeInsetsMake per costruire un valore per questa proprietà. Il valore predefinito è UIEdgeInsetsZero.
Disponibilità Disponibile in iOS 2.0 e versioni successive.
dichiarata in UIButton.h
dare una prova :)
[myButton setTitleEdgeInsets:UIEdgeInsetsMake(0.0, 5.0, 0.0, 0.0)];
anche se si sta utilizzando un pulsante personalizzato esiste una cosa come Inserti di contenuto e Insets immagine.
In caso lo abbiate fatto qui cercando Swift. Questa è valida Swift 3.0
myButton.titleEdgeInsets = UIEdgeInsets(top: 0.0, left: 5.0, bottom: 0.0, right: 0.0)
È possibile impostarlo direttamente. È utile se si desidera utilizzare una o due proprietà.
myButton.titleEdgeInsets.top = 0
myButton.titleEdgeInsets.left = 5
myButton.titleEdgeInsets.bottom = 0
myButton.titleEdgeInsets.right = 0
Ha funzionato !! Grazie, Ryan. – MissStack
Happy Coding :) –
@VanDuTran Ho anche affrontato un problema, su alcuni pulsanti funziona su alcuni no. Probabilmente a causa di vincoli sui pulsanti, ho creato ogni contrappunto uno per uno per promuovere il vincolo dell'utente e poi per ultimo eliminarli. Alcuni pulsanti funzionano bene ora, ma esistono ancora alcuni problemi con i pulsanti ..... Se già trovi una soluzione, condividi. –
Ecco un altro esempio di come risolvere questo:
[self.myButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
float padding_button = 6.0f;
UIEdgeInsets titleInsets = UIEdgeInsetsMake(0.0f, padding_button, 0.0f, -padding_button);
UIEdgeInsets contentInsets = UIEdgeInsetsMake(padding_button, 0.0f, padding_button, 0.0f);
CGFloat extraWidthRequiredForTitle = titleInsets.left - titleInsets.right;
contentInsets.right += extraWidthRequiredForTitle;
[self.myButton setTitleEdgeInsets:titleInsets];
[self.myButton setContentEdgeInsets:contentInsets];
[self.myButton sizeToFit];
Anche se il pulsante ha un'immagine che si può semplicemente aggiungere:
[self.myButton setImage:[UIImage imageNamed:@"YourImage.png"] forState:UIControlStateNormal];
Buona fortuna!
In Xcode 6 È possibile specificare il titolo inserto in IB:
Questo è un buon punto, ma ho trovato che usare il context inset è la strada da percorrere. – smileBot
Ecco una risposta migliore a:
- evitare di troncare il titolo tasto titolo
- evitano si estenda oltre la vista del pulsante
- fa sì che la cornice del pulsante funzioni bene con un'immagine.
Codice:
// Obj-C
CGFloat padding = 10.0f;
[myButton setTitleEdgeInsets:UIEdgeInsetsMake(0, padding, 0, -padding)];
[myButton setContentEdgeInsets:UIEdgeInsetsMake(0, 0, 0, padding)];
// Swift
let padding: CGFloat = 10.0
myButton.titleEdgeInsets = UIEdgeInsets(top: 0.0, left: padding, bottom: 0.0, right: -padding)
myButton.contentEdgeInsets = UIEdgeInsets(top: 0.0, left: 0.0, bottom: 0.0, right: padding)
Versione Swift con riempimento del lato pari: 'let sidePadding: CGFloat = 20.0 titleEdgeInsets = UIEdgeInsets (sopra: 0.0, a sinistra: -sidePadding, in basso: 0.0, a destra: -sidePadding) contentEdgeInsets = UIEdgeInsets (sopra: 0.0, a sinistra: sidePadding , in basso: 0.0, a destra: sidePadding) ' –
Grazie @ArthurClemens –
Ho modificato il suggerimento di @ ArthurClemens –
_myButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
_myButton.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
- 1. Come aggiungere i vincoli a livello di codice a un UIView creato a livello di codice?
- 2. Disabilita UIButton a livello di codice
- 3. Come aggiungere a livello di codice un InputAccessoryView con Autolayout?
- 4. Come aggiungere padding a un jtextfield
- 5. Come visualizzare un popover a livello di codice da un pulsante Uibutton creato anche a livello di codice (Non utilizzando il generatore di interfacce)
- 6. Come posso aggiungere un contatto a livello di codice?
- 7. Come si aggiunge UIButton a UIToolBar a livello di programmazione?
- 8. Come aggiungere un'ombra esterna a un UIButton?
- 9. Modifica del testo di UIButton a livello di codice rapido
- 10. Come aggiungere un riferimento a livello di codice
- 11. Come posso collegare uno storyboard UISearchBar a un UISearchController creato a livello di codice?
- 12. Come posso aggiungere a livello di codice un livello sfumatura su un'immagine in Swift?
- 13. Android di vista ottenere a livello di codice creato
- 14. Android: imposta solo un padding di textview a livello di codice
- 15. Facebook: posso aggiungere un amico a livello di codice?
- 16. Come aggiungere padding a un JPanel con un bordo
- 17. Problemi di allineamento a sinistra Titolo UIButton (iOS/Swift)
- 18. Come aggiungere JS a livello di codice in Magento?
- 19. Come aggiungere frammenti a livello di codice in relazione all'outlet
- 20. WPF ListView - come aggiungere elementi a livello di codice?
- 21. Come aggiungere a livello di codice in vista ViewFlipper
- 22. Aggiungere un UIButton come sottoview a un UITabBar
- 23. Come aggiungere/rimuovere il riferimento a livello di codice?
- 24. Come spostare UIButton a livello di programmazione. Objective C xCode
- 25. Come posso aggiungere un badge a un UIButton standard?
- 26. Come aggiungere un terzo livello al menu a discesa CSS?
- 27. Aggiungere zero padding a una stringa
- 28. Javascript, aggiungere evento onclick a livello di codice
- 29. Scorri a livello di codice UITableViewCell?
- 30. iText - come aggiungere pagine a un documento creato con PdfCopy
Ciao! Per favore considera di selezionare la risposta di @ LucasChwe sotto come quella corretta. Sembra funzionare meglio ... –