// // Shared.swift // MailExample // // Created by Ryan Nystrom on 6/26/17. // // import UIKit enum ActionDescriptor { case read, unread, more, flag, trash func title(forDisplayMode displayMode: ButtonDisplayMode) -> String? { guard displayMode != .imageOnly else { return nil } switch self { case .read: return "Read" case .unread: return "Unread" case .more: return "More" case .flag: return "Flag" case .trash: return "Trash" } } func image(forStyle style: ButtonStyle, displayMode: ButtonDisplayMode) -> UIImage? { guard displayMode != .titleOnly else { return nil } let name: String switch self { case .read: name = "Read" case .unread: name = "Unread" case .more: name = "More" case .flag: name = "Flag" case .trash: name = "Trash" } return UIImage(named: style == .backgroundColor ? name : name + "-circle") } var color: UIColor { switch self { case .read, .unread: return #colorLiteral(red: 0, green: 0.4577052593, blue: 1, alpha: 1) case .more: return #colorLiteral(red: 0.7803494334, green: 0.7761332393, blue: 0.7967314124, alpha: 1) case .flag: return #colorLiteral(red: 1, green: 0.5803921569, blue: 0, alpha: 1) case .trash: return #colorLiteral(red: 1, green: 0.2352941176, blue: 0.1882352941, alpha: 1) } } }