Commit fa21c752 by Dmitriy Stepanets

Added icons for Hurricane Tropical & track severe layer

parent 101c4b9f
......@@ -12,7 +12,7 @@
<key>OneWeatherNotificationServiceExtension.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>38</integer>
<integer>7</integer>
</dict>
<key>PG (Playground) 1.xcscheme</key>
<dict>
......
......@@ -56,6 +56,20 @@ public enum SevereLayerType:String, CaseIterable, RadarLayerType {
}
}
var images:[UIImage?] {
if self == .hurricaneTropicalTracks {
return [UIImage(named: "severe_forecastTrack"),
UIImage(named: "severe_pastTrack"),
UIImage(named: "severe_forecastCone"),
UIImage(named: "severe_hurricane"),
UIImage(named: "severe_tropicalStorm"),
UIImage(named: "severe_low"),
UIImage(named: "severe_investArea")]
}
return []
}
var values:[String] {
switch self {
case .fire:
......
{
"images" : [
{
"filename" : "severe_forecastCone.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true,
"template-rendering-intent" : "original"
}
}
{
"images" : [
{
"filename" : "severe_forecastTrack.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true,
"template-rendering-intent" : "original"
}
}
{
"images" : [
{
"filename" : "severe_hurricane.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true,
"template-rendering-intent" : "original"
}
}
{
"images" : [
{
"filename" : "severe_investArea.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true,
"template-rendering-intent" : "original"
}
}
{
"images" : [
{
"filename" : "severe_low.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true,
"template-rendering-intent" : "original"
}
}
{
"images" : [
{
"filename" : "severe_pastTrack.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true,
"template-rendering-intent" : "original"
}
}
{
"images" : [
{
"filename" : "severe_tropicalStorm.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true,
"template-rendering-intent" : "original"
}
}
......@@ -19,7 +19,14 @@ class MapLegendSevereView: UIView {
public func configure(severeLayer:SevereLayerType) {
stackView.removeAll()
severeLayer.values.enumerated().forEach {
let element = SevereLegendElement(color:UIColor(cgColor: severeLayer.colors[$0]), value: $1)
let element:SevereLegendElement
if severeLayer == .hurricaneTropicalTracks {
element = SevereLegendElement(image: severeLayer.images[$0], value: $1)
}
else {
element = SevereLegendElement(color:UIColor(cgColor: severeLayer.colors[$0]), value: $1)
}
stackView.addArrangedSubview(element)
}
stackView.layoutIfNeeded()
......@@ -55,6 +62,11 @@ private class SevereLegendElement:UIView {
textLabel.text = value
}
convenience init(image:UIImage?, value:String) {
self.init(color:UIColor.clear, value:value)
self.imageView.image = image
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
......@@ -67,6 +79,7 @@ private class SevereLegendElement:UIView {
private func prepare() {
self.snp.makeConstraints { (make) in
make.width.equalTo(50).priority(999)
make.height.equalTo(40)
}
imageView.clipsToBounds = true
......@@ -75,21 +88,21 @@ private class SevereLegendElement:UIView {
addSubview(imageView)
imageView.snp.makeConstraints { (make) in
make.top.equalToSuperview().inset(3).priority(999)
make.top.equalToSuperview().inset(3)
make.width.equalTo(30)
make.height.equalTo(10)
make.height.equalTo(imageView.image == nil ? 10 : 15)
make.centerX.equalToSuperview()
}
textLabel.font = AppFont.SFPro.medium(size: 10)
textLabel.numberOfLines = 0
textLabel.numberOfLines = 2
textLabel.textAlignment = .center
textLabel.lineBreakMode = .byWordWrapping
addSubview(textLabel)
textLabel.snp.makeConstraints { (make) in
make.left.right.equalToSuperview()
make.top.equalTo(imageView.snp.bottom).offset(2)
make.left.right.equalToSuperview().inset(4)
make.top.equalTo(imageView.snp.bottom).offset(2).priority(999)
make.bottom.equalToSuperview().inset(2)
}
}
......
......@@ -314,7 +314,7 @@ private extension RadarViewController {
//Legend
view.addSubview(legendView)
legendView.snp.makeConstraints { (make) in
make.width.lessThanOrEqualToSuperview()
make.width.lessThanOrEqualToSuperview().inset(8)
make.right.equalToSuperview().inset(8)
make.bottom.equalTo(locationButton.snp.top).offset(-18)
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment