Использовать протокол UIAppearance
. Пример установки шрифта - создать категорию для расширения UILabel
:
@interface UILabel (FontAppearance)
@property (nonatomic, copy) UIFont * appearanceFont UI_APPEARANCE_SELECTOR;
@end
@implementation UILabel (FontAppearance)
-(void)setAppearanceFont:(UIFont *)font {
if (font)
[self setFont:font];
}
-(UIFont *)appearanceFont {
return self.font;
}
@end
И ее использование:
UILabel * appearanceLabel = [UILabel appearanceWhenContainedIn:UIAlertController.class, nil];
[appearanceLabel setAppearanceFont:[UIFont boldSystemFontOfSize:10]]; //for example
Протестировано и работает со стилем UIAlertControllerStyleActionSheet
, но я предположим, что он будет работать и с UIAlertControllerStyleAlert
.
PS Лучше проверить наличие класса вместо версии iOS:
if ([UIAlertController class]) {
// UIAlertController code (iOS 8)
} else {
// UIAlertView code (pre iOS 8)
}
Мне удалось «починить» его, удалив каталог .idea
и снова открыв проект. Каталог .idea
обычно не фиксируется в git, но я полагаю, что копирование каталога делает недействительными структуры каталогов в файлах в каталоге .idea.
Вся ошибка легко воспроизводится, когда вы нажимаете File
> Re-import Gradle project
.
@ Ответ Boni2k не работает для меня.
Мне нужно переименовать корень build.gradle.kts
обратно в build.gradle
, исправить синтаксическую ошибку, синхронизировать проект (который сразу работает нормально) и переименовать файл обратно в build.gradle.kts
. Тогда ошибка исчезнет, и я смогу успешно синхронизировать проект.
Что я сделал, чтобы поднять ошибку, так это то, что я переместил проект в другую папку и переименовал проект.