CostumeKit
1.0.0
앱 테마를위한 기본 유형.
Costumekit은 신속한 프로토콜 세트로 구성됩니다. 그들은 귀하의 앱에서 귀하가 구현해야합니다.
코코아 바이트의 작은 물린 #270 : Costumekit과 함께 테마 구현
Color 및 ColorPalette 프로토콜이 포함되어 있습니다.
용법:
public enum MyAppColors : Color , ColorPalette {
case white = " FFFFFF "
case lightTeal = " 3CB39E "
case forestGreen = " 216055 "
case black = " 000000 "
} Font 프로토콜과 iOS 시스템 글꼴을위한 하나의 콘크리트 SystemFont 구현이 포함되어 있습니다.
용법:
public struct MyAppFont : Font {
public init ( size : FontSize = . textStyle ( . body ) ) {
self . size = size
}
// Font
public var size : FontSize
// FontConvertible
public var FontValue : UIFont {
return UIFont ( name : " SomeCustomFont " , size : pointSize ) !
}
} SVG 프로토콜 및 SVGMetadata 유형이 포함됩니다.
용법:
enum MyAppSVGs {
case clockGlyph
case bird
}
extension MyAppSVGs : SVG {
public func metadata ( ) -> SVGMetadata {
switch self {
case . clockGlyph : return SVGMetadata ( name : " clock " , size : CGSize ( width : 100 , height : 100 ) , fullColor : false )
case . bird : return SVGMetadata ( name : " bird " , size : CGSize ( width : 58 , height : 28 ) , fullColor : true )
}
}
} 당신이 SVGMetadata 로하는 일은 당신에게 달려 있습니다. Michael Choe의 Swiftsvg를 추천합니다. 사용 방법을 배우려면 여기에서 자세히 알아보십시오.
Costumekit 의 목표는 일반적인 솔루션이되므로 디스크, 구문 분석 등에서 어떻게 무언가를 검색 해야하는지에 대한 가정이 없습니다.
Costume 프로토콜이 포함되어 있습니다. 용법:
open class MyAppCostume : Costume {
let spacing = CGFloat ( 8 )
public func wearRootBackground ( _ view : UIView ) {
view . backgroundColor = Color . black . colorValue
}
public func wearHeadline ( _ label : UILabel ) {
label . font = MyAppFont ( size : . textStyle ( . title1 ) ) . fontValue
label . textColor = MyAppColors . forestGreen . colorValue
}
public var name : String { return " Default " }
public var description : String { return " The default costume. " }
public init ( ) { }
}건배.