Я разрабатываю игру и хочу создать конфигурацию для упрощения скинов приложений.Глобальные переменные/одноэлементные альтернативы для хранения зависимых констант
Я застрял с определенными константами устройства. Например, я хочу сохранить размер шрифта, специфичный для устройства. Допустим, я хочу 30 для iPhone и 45 для iPad. Теперь я это сделать, объявляющего глобальную переменную следующим образом:
let h2FontSize : CGFloat = UIDevice.currentDevice().userInterfaceIdiom == .Pad ? 45 : 30
Затем используйте его следующим образом:
private let topLabel = CCLabelTTF(string: "", fontName: mainFontName, fontSize: h2FontSize)
Но это не кажется красивым решением, потому что у меня есть h1, h3 FONTSIZE и Они все выглядят одинаково.
let h1FontSize : CGFloat = UIDevice.currentDevice().userInterfaceIdiom == .Pad ? 60 : 45
let h2FontSize : CGFloat = UIDevice.currentDevice().userInterfaceIdiom == .Pad ? 45 : 30
let h3FontSize : CGFloat = UIDevice.currentDevice().userInterfaceIdiom == .Pad ? 30 : 15
Как бороться с константами, специфичными для устройства?
@ Калеб, потому что это в основном необходимо для разработки игр, в UIKit вы можете использовать классы размера для этого типа вещей. –
@Caleb ОК, вы правы, я просто хотел привлечь внимание разработчиков cocos2d, я удалил это –