Commit fa21c752 by Dmitriy Stepanets

Added icons for Hurricane Tropical & track severe layer

parent 101c4b9f
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<key>OneWeatherNotificationServiceExtension.xcscheme_^#shared#^_</key> <key>OneWeatherNotificationServiceExtension.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>38</integer> <integer>7</integer>
</dict> </dict>
<key>PG (Playground) 1.xcscheme</key> <key>PG (Playground) 1.xcscheme</key>
<dict> <dict>
......
...@@ -56,6 +56,20 @@ public enum SevereLayerType:String, CaseIterable, RadarLayerType { ...@@ -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] { var values:[String] {
switch self { switch self {
case .fire: 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 { ...@@ -19,7 +19,14 @@ class MapLegendSevereView: UIView {
public func configure(severeLayer:SevereLayerType) { public func configure(severeLayer:SevereLayerType) {
stackView.removeAll() stackView.removeAll()
severeLayer.values.enumerated().forEach { 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.addArrangedSubview(element)
} }
stackView.layoutIfNeeded() stackView.layoutIfNeeded()
...@@ -55,6 +62,11 @@ private class SevereLegendElement:UIView { ...@@ -55,6 +62,11 @@ private class SevereLegendElement:UIView {
textLabel.text = value textLabel.text = value
} }
convenience init(image:UIImage?, value:String) {
self.init(color:UIColor.clear, value:value)
self.imageView.image = image
}
required init?(coder: NSCoder) { required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented") fatalError("init(coder:) has not been implemented")
} }
...@@ -67,6 +79,7 @@ private class SevereLegendElement:UIView { ...@@ -67,6 +79,7 @@ private class SevereLegendElement:UIView {
private func prepare() { private func prepare() {
self.snp.makeConstraints { (make) in self.snp.makeConstraints { (make) in
make.width.equalTo(50).priority(999) make.width.equalTo(50).priority(999)
make.height.equalTo(40)
} }
imageView.clipsToBounds = true imageView.clipsToBounds = true
...@@ -75,21 +88,21 @@ private class SevereLegendElement:UIView { ...@@ -75,21 +88,21 @@ private class SevereLegendElement:UIView {
addSubview(imageView) addSubview(imageView)
imageView.snp.makeConstraints { (make) in imageView.snp.makeConstraints { (make) in
make.top.equalToSuperview().inset(3).priority(999) make.top.equalToSuperview().inset(3)
make.width.equalTo(30) make.width.equalTo(30)
make.height.equalTo(10) make.height.equalTo(imageView.image == nil ? 10 : 15)
make.centerX.equalToSuperview() make.centerX.equalToSuperview()
} }
textLabel.font = AppFont.SFPro.medium(size: 10) textLabel.font = AppFont.SFPro.medium(size: 10)
textLabel.numberOfLines = 0 textLabel.numberOfLines = 2
textLabel.textAlignment = .center textLabel.textAlignment = .center
textLabel.lineBreakMode = .byWordWrapping textLabel.lineBreakMode = .byWordWrapping
addSubview(textLabel) addSubview(textLabel)
textLabel.snp.makeConstraints { (make) in textLabel.snp.makeConstraints { (make) in
make.left.right.equalToSuperview() make.left.right.equalToSuperview().inset(4)
make.top.equalTo(imageView.snp.bottom).offset(2) make.top.equalTo(imageView.snp.bottom).offset(2).priority(999)
make.bottom.equalToSuperview().inset(2) make.bottom.equalToSuperview().inset(2)
} }
} }
......
...@@ -314,7 +314,7 @@ private extension RadarViewController { ...@@ -314,7 +314,7 @@ private extension RadarViewController {
//Legend //Legend
view.addSubview(legendView) view.addSubview(legendView)
legendView.snp.makeConstraints { (make) in legendView.snp.makeConstraints { (make) in
make.width.lessThanOrEqualToSuperview() make.width.lessThanOrEqualToSuperview().inset(8)
make.right.equalToSuperview().inset(8) make.right.equalToSuperview().inset(8)
make.bottom.equalTo(locationButton.snp.top).offset(-18) 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