2014-09-23 12 views
30

Quando faccio qualsiasi IOS 8 Oggi estensione, c'è uno spazio vuoto a sinistra di circa 48px, anche se in Interface Builder effettuo un'etichetta sul lato sinistro in x = 0.Fit larghezza in IOS 8 Oggi estensioni


on xcode on the simulator


ho visto che alcune applicazioni, tuttavia, utilizzare un widget a tutta larghezza.


other apps


Come posso ottenere qualcosa di simile?

Grazie!


UPDATE: RISOLTO

ho messo qui il codice di esempio, perché credo che possa essere utile a qualcuno. Come suggerito da @ matteo-Lallone, il modo corretto per farlo è:

-(UIEdgeInsets)widgetMarginInsetsForProposedMarginInsets:(UIEdgeInsets)defaultMa‌​rginInsets{ 
return UIEdgeInsetsZero; 
} 

risposta

37

Direttamente dalla documentazione:

Un widget Oggi creato utilizzando il modello Xcode oggi comprende Auto vincoli di layout per la serie margini marginali. Per ottenere i valori di inserto per i calcoli, implementare il widget widgetMarginInsetsForProposedMarginInsets: method.

Fonte: App Extension Programming Guide - Today

+5

Grazie, come hai suggerito, ho aggiunto questo codice e il problema è stato risolto! - (UIEdgeInsets) widgetMarginInsetsForProposedMarginInsets: (UIEdgeInsets) defaultMarginInsets {return UIEdgeInsetsZero;} –

+1

Il link è morto. Prendete questo [NotificationCenter.html] (https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/NotificationCenter.html#//apple_ref/doc/uid/TP40014214-CH11-SW5) – Felix

+0

Grazie @Felix, andava bene quando l'ho pubblicato! Aggiornato. –

23

posso integrare la rapida versione

func widgetMarginInsetsForProposedMarginInsets(defaultMarginInsets: UIEdgeInsets) -> UIEdgeInsets { 
    return UIEdgeInsetsZero 
} 

per oc

-(UIEdgeInsets)widgetMarginInsetsForProposedMarginInsets:(UIEdgeInsets)defaultMarginInsets { 
    return UIEdgeInsetsZero 
} 

spero che possa aiutare qualcuno.

+0

È molto utile, grazie. – whenov

+0

questo l'ha risolto per me. – DeyaEldeen