2016-02-22 10 views
5

Ho questo codice che cambia l'aspetto di UILabel s quando appaiono in UIAlertController s:UIAppearance per UILabel in UIActivityViewController

UILabel *appearanceLabel = [UILabel appearanceWhenContainedInInstancesOfClasses:@[[UIAlertController class]]]; 
    [appearanceLabel setAppearanceFont:kFontRegular(18)]; 

Ma questo riguarda anche i UILabels che appaiono in UIActivityViewController s.

enter image description here

Come posso escludere i UILabels in UIActivityViewController?

risposta

5

Invece di cercare di attivare/disattivare l'aspetto a seconda della situazione si può essere in grado di sottoclasse il proprio UIAlertController e utilizzare

UILabel *appearanceLabel = [UILabel appearanceWhenContainedInInstancesOfClasses:@[[MyAlertController class]]]; 
    [appearanceLabel setAppearanceFont:kFontRegular(18)]; 

poi, quando il foglio di azione apre non sarà la sottoclasse in modo che il la regola non si applica

+0

questo probabilmente funzionerà - ma ho piuttosto una grande applicazione che utilizza UIAlertController abbastanza ampiamente. – Halpo

+0

Non funzionerà in quanto la situazione rimane la stessa di UIActivityViewController utilizza la stessa interfaccia – techloverr

+0

techloverr Ho appena testato l'idea di utilizzare una sottoclasse e regolerà solo il carattere per la sottoclasse. Ciò significherebbe che funzionerebbe. – Steve

0

È possibile utilizzare la funzione di posa classe di objective c da utilizzare in ben occorrenze di UIAlertController

Class Posing

Problemi correlati