Browse Source

Merge branch 'feature/dev_Chris' into develop

# Conflicts:
#	RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj
#	RainbowPlanet/RainbowPlanet/Macro/ColorMacro.swift
#	RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddAddress/PublishAddAddressController.swift
#	RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddTopic/Controller/PublishAddTopicController.swift
Chris 5 years ago
parent
commit
673dcdf1da
34 changed files with 1130 additions and 7 deletions
  1. 2 0
      RainbowPlanet/RainbowPlanet/Macro/ColorMacro.swift
  2. 1 1
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityRecommendDetail/View/CommunityTagCollectionCell.swift
  3. 77 0
      RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddAddress/PublishAddAddressController.swift
  4. 184 0
      RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddAddress/PublishAddressPOIView.swift
  5. 97 0
      RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddAddress/SearchAddrNavigationbarView.swift
  6. 128 0
      RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddTopic/Controller/PublishAddTopicController.swift
  7. 93 0
      RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddTopic/View/PublishSelTopicCollectionCell.swift
  8. 85 0
      RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddTopic/View/PublishTopicHeaderView.swift
  9. 92 0
      RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddTopic/View/PublishTopicItemCell.swift
  10. 3 3
      RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishEditController/View/PublishEditAddAddressCell.swift
  11. 3 3
      RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishEditController/View/PublishEditAddTopicCell.swift
  12. 147 0
      RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishSuccess/PublishShareBottomView.swift
  13. 64 0
      RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishSuccess/PublishSuccessController.swift
  14. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_ico_address.imageset/Contents.json
  15. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_ico_address.imageset/edit_ico_address@2x.png
  16. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_ico_address.imageset/edit_ico_address@3x.png
  17. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_ico_topic.imageset/Contents.json
  18. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_ico_topic.imageset/edit_ico_topic@2x.png
  19. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_ico_topic.imageset/edit_ico_topic@3x.png
  20. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_download.imageset/Contents.json
  21. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_download.imageset/edit_pic_download@2x.png
  22. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_download.imageset/edit_pic_download@3x.png
  23. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_moments.imageset/Contents.json
  24. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_moments.imageset/edit_pic_moments@2x.png
  25. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_moments.imageset/edit_pic_moments@3x.png
  26. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_wechat.imageset/Contents.json
  27. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_wechat.imageset/edit_pic_wechat@2x.png
  28. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_wechat.imageset/edit_pic_wechat@3x.png
  29. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_topic_delete.imageset/Contents.json
  30. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_topic_delete.imageset/edit_topic_delete@2x.png
  31. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_topic_delete.imageset/edit_topic_delete@3x.png
  32. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_topic_pitchon.imageset/Contents.json
  33. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_topic_pitchon.imageset/edit_topic_pitchon@2x.png
  34. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_topic_pitchon.imageset/edit_topic_pitchon@3x.png

+ 2 - 0
RainbowPlanet/RainbowPlanet/Macro/ColorMacro.swift

@@ -141,3 +141,5 @@ let kFFF8ECColor = UIColor(hexString: "FFF8EC")
 let kDDDDDDColor = UIColor(hexString: "DDDDDD")
 
 let kFEFEFEColor = UIColor(hexString: "#FEFEFE")
+
+let k7AD489Color = UIColor(hexString: "7AD489")

+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityRecommendDetail/View/CommunityTagCollectionCell.swift

@@ -69,7 +69,7 @@ class CommunityTagCollectionCell: UICollectionViewCell {
     
     private lazy var iconImageView: UIImageView = {
         let iconImageView = UIImageView()
-        iconImageView.image = kImage(name: "pic_preload")
+        iconImageView.image = kImage(name: "edit_ico_topic_pre")
         return iconImageView
     }()
     

+ 77 - 0
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddAddress/PublishAddAddressController.swift

@@ -0,0 +1,77 @@
+//
+//  PublishAddAddressController.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/17.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class PublishAddAddressController: BaseViewController {
+    
+    typealias DidSelectBlock = (_ latitude:String,_ longitude:String,_ address:String) -> Void
+    var didSelectBlock : DidSelectBlock?
+    var locationAddress: String?
+    /// 纬度
+    var latitude : String = LocationModel.shared().getLocationModel()?.latitude ?? "34.20840377740726"
+    /// 经度
+    var longitude : String = LocationModel.shared().getLocationModel()?.longitude ?? "108.96265686107972"
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        setupViews()
+        setupLayouts()
+        
+    }
+    
+    override func setupViews() {
+        navigationBar.wr_setLeftButton(title: "", titleColor: UIColor.clear)
+        navigationBar.onClickLeftButton = nil
+        navigationBar.addSubview(navigationBarView)
+        
+        
+        view.addSubview(addressPOIView)
+        addressPOIView.locationAddress = locationAddress
+        addressPOIView.longitude = longitude
+        addressPOIView.latitude = latitude
+        
+    }
+    
+    override func setupLayouts() {
+        navigationBarView.snp.makeConstraints { (make) in
+            make.top.equalTo(kSafeStatusBarHeight)
+            make.bottom.left.right.equalToSuperview()
+        }
+        addressPOIView.snp.makeConstraints { (make) in
+            make.top.equalTo(navigationBar.snp.bottom)
+            make.left.right.bottom.equalToSuperview()
+        }
+    }
+    
+    private lazy var navigationBarView: SearchAddrNavigationbarView = {
+        let navigationBarView = SearchAddrNavigationbarView()
+        navigationBarView.cancelBlock = {
+            [weak self] in
+            self?.navigationController?.popViewController(animated: true)
+        }
+        navigationBarView.searchBlock = {
+            [weak self] keyword in
+            print("----search")
+        }
+        return navigationBarView
+    }()
+    
+    private lazy var addressPOIView: PublishAddressPOIView = {
+        let addressPOIView = PublishAddressPOIView()
+        addressPOIView.didSelectBlock = { [weak self] (latitude:String,longitude:String,address:String) in
+            if let didSelectBlock = self?.didSelectBlock {
+                didSelectBlock(latitude ,longitude ,address)
+                self?.navigationController?.popViewController(animated: true)
+            }
+            
+        }
+        return addressPOIView
+    }()
+    
+}

+ 184 - 0
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddAddress/PublishAddressPOIView.swift

@@ -0,0 +1,184 @@
+//
+//  PublishAddressPOIView.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/17.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+import RxSwift
+import RxCocoa
+
+class PublishAddressPOIView: BaseView {
+    
+    typealias DidSelectBlock = (_ latitude:String,_ longitude:String,_ address:String) -> Void
+    var didSelectBlock : DidSelectBlock?
+    
+    var suggestionList : Array<BMKSuggestionInfo>?
+    
+    var locationAddress: String? {
+        didSet {
+            tableView.reloadSections([0], with: UITableView.RowAnimation.fade)
+        }
+    }
+    /// 纬度
+    var latitude : String = LocationModel.shared().getLocationModel()?.latitude ?? "34.20840377740726"
+    /// 经度
+    var longitude : String = LocationModel.shared().getLocationModel()?.longitude ?? "108.96265686107972"
+    
+    
+    
+    override func setupViews() {
+        
+        addSubview(searchBgView)
+        
+        searchBgView.addSubview(bottomLine)
+        searchBgView.addSubview(addressLabel)        
+        addSubview(tableView)
+        
+    }
+    
+    override func setupLayouts() {
+        searchBgView.snp.makeConstraints { (make) in
+            make.top.left.right.equalToSuperview()
+            make.height.equalTo(kScaleValue(value: 60))
+        }
+        bottomLine.snp.makeConstraints { (make) in
+            make.left.right.bottom.equalToSuperview()
+            make.height.equalTo(0.5)
+        }
+        
+        addressLabel.snp.remakeConstraints { (make) in
+            make.centerY.equalTo(searchBgView.snp.centerY)
+            make.left.equalTo(kScaleValue(value: 8))
+        }
+        
+        tableView.snp.makeConstraints { (make) in
+            make.top.equalTo(searchBgView.snp.bottom)
+            make.left.right.bottom.equalToSuperview()
+        }
+        
+    }
+    
+    private lazy var searchBgView: UIView = {
+        let searchBgView = UIView()
+        searchBgView.backgroundColor = kffffffColor
+        return searchBgView
+    }()
+    
+    private lazy var addressLabel: UILabel = {
+        let addressLabel = UILabel()
+        addressLabel.text = LocationModel.shared().getLocationModel()?.city ?? "西安市"
+        addressLabel.textColor = k999999Color
+        addressLabel.font = kScaleRegularFont14
+        return addressLabel
+    }()
+    
+//    private lazy var searchTextField: UITextField = {
+//        let searchTextField = UITextField()
+//        searchTextField.placeholder = "输入地理位置"
+//        searchTextField.tintColor = kFFA42FColor
+//        searchTextField.textColor = k333333Color
+//        searchTextField.returnKeyType = .done
+//        searchTextField.font = kScaleRegularFont14
+//        searchTextField.borderStyle = .none
+//        searchTextField.rx.text.orEmpty.changed.subscribe(onNext: { (text) in
+//
+//            BaiduMapManager.shared.suggestionSearchPoi(cityname:LocationModel.shared().getLocationModel()?.city ?? "西安市", keyword: text)
+//            BaiduMapManager.shared.suggestionSearchSuccessBlock = {
+//                [weak self] (suggestionList:Array<BMKSuggestionInfo>) in
+//                self?.suggestionList = suggestionList
+//                self?.tableView.reloadSections([1], with: UITableView.RowAnimation.fade)
+//            }
+//        }).disposed(by: disposeBag)
+//        return searchTextField
+//    }()
+    
+    private lazy var bottomLine: UILabel = {
+        let bottomLine = UILabel()
+        bottomLine.backgroundColor = kf5f5f5Color
+        return bottomLine
+    }()
+    
+    private lazy var tableView: UITableView = {
+        let tableView = UITableView(frame: CGRect.zero, style: UITableView.Style.plain)
+        tableView.delegate = self
+        tableView.dataSource = self
+        tableView.backgroundColor = kffffffColor
+        tableView.estimatedRowHeight = kScaleValue(value: 48)
+        tableView.separatorStyle = .none
+        return tableView
+    }()
+    
+}
+
+// MARK: - UITableViewDataSource,UITableViewDelegate
+extension PublishAddressPOIView:UITableViewDataSource,UITableViewDelegate {
+    
+    func numberOfSections(in tableView: UITableView) -> Int {
+        return 2
+    }
+    
+    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+        switch section {
+        case 0:
+            return 1
+        case 1:
+            if self.suggestionList != nil {
+                return self.suggestionList!.count
+            }else {
+                return 0
+            }
+        default:
+            return 1
+        }
+    }
+    
+    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+        let cell = AddressPOITableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+        switch indexPath.section {
+        case 0:
+            cell.locationAddress = locationAddress
+            cell.refreshButtonBlock = {
+                BaiduMapManager.shared.startLocation()
+                BaiduMapManager.shared.locationSuccessBlock = {
+                    [weak self] in
+                    let locationModel = LocationModel.shared().getLocationModel()
+                    self?.locationAddress = locationModel?.toString()
+                }
+                BaiduMapManager.shared.locationFalseBlock = {
+                    SwiftProgressHUD.shared().showText("定位失败\n重新定位", textAlignment: NSTextAlignment.center)
+                }
+            }
+            break
+        default:
+            cell.suggestionInfo = self.suggestionList?[indexPath.row]
+            break
+        }
+        return cell
+    }
+    
+    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+        
+        if let didSelectBlock = self.didSelectBlock {
+            switch indexPath.section {
+            case 0:
+                didSelectBlock(self.latitude,self.longitude,self.locationAddress ?? "")
+                break
+            default:
+                let locationModel = LocationModel.shared().getLocationModel()
+                let suggestionList = self.suggestionList?[indexPath.row]
+                let city = suggestionList?.city ?? ""
+                let district = suggestionList?.district ?? ""
+                let key = suggestionList?.key ?? ""
+                let latitude = "\(suggestionList?.location.latitude ?? 0)"
+                let longitude = "\(suggestionList?.location.longitude ?? 0)"
+                let toString = locationModel!.province  + city + district  + key
+                didSelectBlock(latitude,longitude,toString)
+                break
+            }
+        }
+    }
+    
+}

+ 97 - 0
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddAddress/SearchAddrNavigationbarView.swift

@@ -0,0 +1,97 @@
+//
+//  SearchAddrNavigationbarView.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/17.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class SearchAddrNavigationbarView: BaseView {
+    
+    typealias CancelBlock = () -> Void
+    var cancelBlock : CancelBlock?
+    
+    typealias SearchBlock = (_ keyWord:String) -> Void
+    var searchBlock : SearchBlock?
+    
+    override func setupViews() {
+        addSubview(backBtn)
+        addSubview(searchbgView)
+        searchbgView.addSubview(searchIconImageView)
+        searchbgView.addSubview(searchTextField)
+    }
+    
+    override func setupLayouts() {
+        backBtn.snp.makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.left.equalToSuperview().offset(11)
+            make.width.equalTo(32)
+            make.height.equalTo(32)
+        }
+        searchbgView.snp.makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.left.equalTo(backBtn.snp_right).offset(5)
+            make.right.equalTo(-14)
+            make.height.equalTo(30)
+        }
+        searchIconImageView.snp.makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.left.equalTo(12)
+            make.size.equalTo(18)
+        }
+        searchTextField.snp.makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.left.equalTo(searchIconImageView.snp.right).offset( 8)
+            make.right.equalToSuperview().offset(8)
+            make.height.equalTo(30)
+        }
+    }
+    
+    private lazy var backBtn: UIButton = {
+        let backBtn = UIButton(type: UIButton.ButtonType.custom)
+        backBtn.setImage(kImage(name: "navbar_back_black"), for: .normal)
+        backBtn.rx.tap.subscribe(onNext: { [weak self] (data) in
+            if let cancelBlock = self?.cancelBlock {
+                cancelBlock()
+            }
+        }).disposed(by: disposeBag)
+        return backBtn
+    }()
+    
+    private lazy var searchbgView: UIView = {
+        let searchbgView = UIView()
+        searchbgView.backgroundColor = kf7f8faColor
+        searchbgView.cornerRadius = 15
+        searchbgView.masksToBounds = true
+        return searchbgView
+    }()
+    
+    private lazy var searchIconImageView: UIImageView = {
+        let searchIconImageView = UIImageView()
+        searchIconImageView.image = kImage(name: "navbar_search")
+        return searchIconImageView
+    }()
+    
+    private lazy var searchTextField: UITextField = {
+        let searchTextField = UITextField()
+        searchTextField.placeholder = "请输入商品名称"
+        searchTextField.tintColor = kFFA42FColor
+        searchTextField.textColor = k333333Color
+        searchTextField.returnKeyType = .search
+        searchTextField.font = kScaleRegularFont14
+        searchTextField.borderStyle = .none
+        searchTextField.rx.controlEvent([.editingDidEndOnExit]).asObservable().subscribe(onNext: {
+            [weak self] (text) in
+            
+            if searchTextField.text?.count ?? 0 > 0 {
+                self?.endEditing(true)
+            }else {
+                SwiftProgressHUD.shared().showText("搜索地址不能为空")
+            }                        
+        }).disposed(by: disposeBag)
+        return searchTextField
+    }()
+    
+}

+ 128 - 0
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddTopic/Controller/PublishAddTopicController.swift

@@ -0,0 +1,128 @@
+//
+//  PublishAddTopicController.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/17.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+import RxSwift
+import SwiftyJSON
+import Photos
+
+class PublishAddTopicController: BaseViewController {
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        setupViews()
+        setupData()
+    }
+    
+    override func setupViews() {
+        self.view.backgroundColor = kffffffColor
+        
+        navigationBar.title = "添加话题"
+        navigationBar.wr_setRightButton(title: "完成(x/5)", titleColor: k7AD489Color)
+        navigationBar.onClickRightButton = {
+            [weak self] in
+            let vc = PublishSuccessController()
+            self?.navigationController?.pushViewController(vc, animated: true)
+        }
+        
+        view.addSubview(tableView)
+        tableView.snp.makeConstraints { (make) in
+            make.top.equalToSuperview().offset(kNavBarTotalHeight)
+            make.left.right.bottom.equalToSuperview()
+        }
+    }
+    
+    override func setupData() {
+        
+    }
+    
+    lazy var tableView: UITableView = {
+        let tableView = UITableView(frame: CGRect.zero, style: UITableView.Style.grouped)
+        tableView.separatorStyle = .none
+        tableView.backgroundColor = kffffffColor
+        tableView.dataSource = self
+        tableView.delegate = self
+        tableView.estimatedRowHeight = 0.000001
+        tableView.estimatedSectionFooterHeight = 0.000001
+        tableView.estimatedSectionHeaderHeight = 0.000001
+        return tableView
+    }()
+    
+}
+
+// MARK: - tableView dataSource && delegate
+extension PublishAddTopicController : UITableViewDelegate, UITableViewDataSource {
+    
+    func numberOfSections(in tableView: UITableView) -> Int {
+        return 2
+    }
+    
+    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+        switch section {
+        case 0:
+            return 1
+        case 1:
+            return 6
+        default:
+            return 1
+        }
+    }
+    
+    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+        switch indexPath.section {
+        case 0:
+            let picCell = PublishTopicTypeCell.cellWith(tableView: tableView, indexPath: indexPath)
+            return picCell
+        case 1:
+            let titleCell = PublishTopicItemCell.cellWith(tableView: tableView, indexPath: indexPath)
+            return titleCell
+        default:
+            return UITableViewCell()
+        }
+    }
+    
+    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+        switch indexPath.section {
+        case 0:
+            return 90
+        case 1:
+            return 50
+        default:
+            return 50
+        }
+    }
+    
+    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
+        if section == 0 {
+            return 44
+        } else {
+            return 0
+        }
+    }
+    
+    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
+        if section == 0 {
+            let headerView = PublishTopicHeaderView(frame: CGRect.zero)
+            headerView.layoutIfNeeded()
+            headerView.reloadData()
+            return headerView
+        } else {
+            return nil
+        }
+        
+    }
+    
+    func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
+        return 0.000001
+    }
+    
+    func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
+        return nil
+    }
+    
+}

+ 93 - 0
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddTopic/View/PublishSelTopicCollectionCell.swift

@@ -0,0 +1,93 @@
+//
+//  PublishSelTopicCollectionCell.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/17.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//  话题类别のCell
+
+import UIKit
+import RxSwift
+
+class PublishSelTopicCollectionCell: UICollectionViewCell {
+    
+    let disposeBag = DisposeBag()
+    
+    class func cellWith(collectionView:UICollectionView,indexPath:IndexPath) -> PublishSelTopicCollectionCell {
+        let ID = "PublishSelTopicCollectionCell"
+        collectionView.register(PublishSelTopicCollectionCell.self, forCellWithReuseIdentifier: ID)
+        let cell : PublishSelTopicCollectionCell = collectionView.dequeueReusableCell(withReuseIdentifier: ID, for: indexPath) as! PublishSelTopicCollectionCell
+        cell.indexPath = indexPath
+        return cell
+    }
+    //MARK: - indexPath
+    var indexPath: IndexPath?{
+        didSet {
+            
+        }
+    }
+    //MARK: - 初始化
+    override init(frame: CGRect) {
+        super.init(frame: frame)
+        backgroundColor = kffffffColor
+        cornerRadius = 12
+        masksToBounds = true
+        setupViews()
+        setupLayouts()
+    }
+    
+    required init?(coder aDecoder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+    //MRAK: - 设置View
+    private func setupViews() {
+        addSubview(iconImageView)
+        addSubview(titleLabel)
+        addSubview(deleteButton)
+    }
+    
+    private func setupLayouts() {
+        iconImageView.snp.makeConstraints { (make) in
+            make.top.equalTo(5)
+            make.left.equalTo(6)
+            make.size.equalTo(16)
+        }
+        titleLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(3)
+            make.left.equalTo(iconImageView.snp_right).offset(5)
+            make.right.equalTo(-26)
+            make.height.equalTo(19)
+        }
+        deleteButton.snp.makeConstraints { (make) in
+            make.left.equalTo(titleLabel.snp_right).offset(2)
+            make.right.equalTo(-2)
+            make.size.equalTo(22)
+        }
+    }
+    
+    private lazy var iconImageView: UIImageView = {
+        let iconImageView = UIImageView()
+        iconImageView.image = kImage(name: "edit_ico_topic_pre")
+        return iconImageView
+    }()
+    
+    private lazy var titleLabel: UILabel = {
+        let titleLabel = UILabel()
+        titleLabel.text = "运动健身"
+        titleLabel.textColor = k666666Color
+        titleLabel.font = kRegularFont13
+        titleLabel.textAlignment = .left
+        return titleLabel
+    }()
+    
+    private lazy var deleteButton: UIButton = {
+        let deleteButton = UIButton(type: UIButton.ButtonType.custom)
+        deleteButton.setImage(kImage(name: "edit_topic_delete"), for: UIControl.State.normal)
+        deleteButton.rx.tap.subscribe(onNext: { (data) in
+            print("----点击删除")
+        }).disposed(by: disposeBag)
+        return deleteButton
+    }()
+    
+}

+ 85 - 0
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddTopic/View/PublishTopicHeaderView.swift

@@ -0,0 +1,85 @@
+//
+//  PublishTopicHeaderView.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/17.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//  已选类别
+
+import UIKit
+
+class PublishTopicHeaderView: BaseView {
+    
+    override func setupViews() {
+        self.backgroundColor = kf7f8faColor
+        
+        addSubview(collectionView)
+    }
+    
+    override func setupLayouts() {
+        collectionView.snp.remakeConstraints { (make) in
+            make.top.equalTo(10)
+            make.bottom.equalTo(-10)
+            make.left.right.equalToSuperview()
+        }
+    }
+    
+    private lazy var collectionView: UICollectionView = {
+        let collectionView = UICollectionView.init(frame: CGRect.zero, collectionViewLayout: collectionViewLayout)
+        collectionView.backgroundColor = kf7f8faColor
+        collectionView.delegate = self;
+        collectionView.dataSource = self;
+        collectionView.showsVerticalScrollIndicator = false
+        collectionView.showsHorizontalScrollIndicator = false
+        collectionView.bounces = false        
+        return collectionView
+    }()
+    
+    private lazy var collectionViewLayout: UICollectionViewFlowLayout = {
+        let collectionViewLayout = UICollectionViewLeftAlignedLayout.init()
+        collectionViewLayout.minimumLineSpacing = 10
+        collectionViewLayout.minimumInteritemSpacing =  10
+        collectionViewLayout.scrollDirection = UICollectionView.ScrollDirection.horizontal
+        collectionViewLayout.estimatedItemSize = CGSize(width: ((kScreenWidth - 28) - 3*10)/4, height: 24)
+        return collectionViewLayout
+    }()
+    
+    //加载数据
+    func reloadData() {
+        //collectionView重新加载数据
+        self.collectionView.reloadData()
+        //更新collectionView的高度约束
+        let contentSize = self.collectionView.collectionViewLayout.collectionViewContentSize
+        collectionView.snp.makeConstraints { (make) in
+            make.top.equalTo(10)
+            make.bottom.equalTo(-10)
+            make.left.right.equalToSuperview()
+            make.height.equalTo(contentSize.height)
+        }
+        self.collectionView.collectionViewLayout.invalidateLayout()
+    }
+}
+
+extension PublishTopicHeaderView: UICollectionViewDelegateFlowLayout,UICollectionViewDataSource {
+    func numberOfSections(in collectionView: UICollectionView) -> Int {
+        return 1
+    }
+    
+    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
+        return 5
+    }
+    
+    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
+        let cell = PublishSelTopicCollectionCell.cellWith(collectionView: collectionView, indexPath: indexPath)
+        return cell
+    }
+    
+    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
+        return UIEdgeInsets(top: 0, left: 14, bottom: 0, right: 14)
+    }
+    
+    func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
+        print("点击了collection----\(indexPath.row)")
+    }
+    
+}

+ 92 - 0
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddTopic/View/PublishTopicItemCell.swift

@@ -0,0 +1,92 @@
+//
+//  PublishTopicItemCell.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/17.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class PublishTopicItemCell: UITableViewCell {
+    
+    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> PublishTopicItemCell {
+        let ID = "PublishTopicItemCell"
+        tableView.register(PublishTopicItemCell.self, forCellReuseIdentifier: ID)
+        let cell : PublishTopicItemCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! PublishTopicItemCell
+        cell.indexPath = indexPath
+        return cell
+    }
+    
+    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
+        super.init(style: style, reuseIdentifier: reuseIdentifier)
+        setupViews()
+        setupLayouts()
+    }
+    
+    required init?(coder aDecoder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+    var indexPath: IndexPath? {
+        didSet {
+            
+        }
+    }
+    
+    //MRAK: - 设置View
+    private func setupViews() {
+        self.selectionStyle = .none
+        backgroundColor = kffffffColor
+        
+        addSubview(selImageView)
+        addSubview(titleLabel)
+        addSubview(joinLabel)
+    }
+    
+    private func setupLayouts() {
+        selImageView.snp.makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.right.equalToSuperview().offset(-14)
+            make.width.equalTo(16)
+            make.height.equalTo(11)
+        }
+        titleLabel.snp.makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.left.equalTo(14)
+            make.width.lessThanOrEqualTo(225 * kScaleWidth)
+            make.height.equalTo(21)
+        }
+        joinLabel.snp.makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.left.equalTo(titleLabel.snp_right).offset(15)
+            make.right.lessThanOrEqualTo(selImageView.snp_left).offset(-15)
+            make.height.equalTo(17)
+        }
+    }
+    
+    private lazy var titleLabel: UILabel = {
+        let titleLabel = UILabel()
+        titleLabel.text = "电影里教会我的事"
+        titleLabel.textColor = k333333Color
+        titleLabel.font = kRegularFont15
+        titleLabel.textAlignment = .left
+        return titleLabel
+    }()
+    
+    private lazy var joinLabel: UILabel = {
+        let joinLabel = UILabel()
+        joinLabel.text = "3000人参与"
+        joinLabel.textColor = kDDDDDDColor
+        joinLabel.font = kRegularFont12
+        joinLabel.textAlignment = .left
+        return joinLabel
+    }()
+    
+    lazy var selImageView : UIImageView = {
+        let selImageView = UIImageView()
+        selImageView.image = kImage(name: "edit_topic_pitchon")
+        return selImageView
+    }()
+    
+}

+ 3 - 3
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishEditController/View/PublishEditAddAddressCell.swift

@@ -47,9 +47,9 @@ class PublishEditAddAddressCell: UITableViewCell {
     
     private func setupLayouts() {
         iconImageView.snp.makeConstraints { (make) in
-            make.top.equalTo(20)
+            make.centerY.equalToSuperview()
             make.left.equalTo(14)
-            make.size.equalTo(24)
+            make.size.equalTo(16)
         }
         titleLabel.snp.makeConstraints { (make) in
             make.left.equalTo(iconImageView.snp_right).offset(10)
@@ -73,7 +73,7 @@ class PublishEditAddAddressCell: UITableViewCell {
     
     lazy var iconImageView : UIImageView = {
         let iconImageView = UIImageView()
-        iconImageView.image = kImage(name: "page05")
+        iconImageView.image = kImage(name: "edit_ico_address")
         return iconImageView
     }()
     

+ 3 - 3
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishEditController/View/PublishEditAddTopicCell.swift

@@ -45,16 +45,16 @@ class PublishEditAddTopicCell: UITableViewCell {
     
     private func setupLayouts() {
         iconImageView.snp.makeConstraints { (make) in
-            make.top.equalTo(20)
+            make.centerY.equalToSuperview()
             make.left.equalTo(14)
-            make.size.equalTo(24)
+            make.size.equalTo(16)
         }
         
     }
     
     lazy var iconImageView : UIImageView = {
         let iconImageView = UIImageView()
-        iconImageView.image = kImage(name: "page05")
+        iconImageView.image = kImage(name: "edit_ico_topic")
         return iconImageView
     }()
     

+ 147 - 0
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishSuccess/PublishShareBottomView.swift

@@ -0,0 +1,147 @@
+//
+//  PublishShareBottomView.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/17.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+import RxSwift
+import RxCocoa
+
+class PublishShareBottomView: BaseView {
+    
+    override func setupViews() {
+        self.backgroundColor = kffffffColor
+        
+        addSubview(titleLabel)
+        addSubview(wechatBtn)
+        addSubview(friendsBtn)
+        addSubview(saveImgBtn)
+        addSubview(sepView)
+        addSubview(jumpBtn)
+    }
+    
+    override func setupLayouts() {
+        titleLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(24)
+            make.centerX.equalToSuperview()
+            make.height.equalTo(18)
+        }
+        
+        wechatBtn.snp.makeConstraints { (make) in
+            make.top.equalTo(titleLabel.snp_bottom).offset(20)
+            make.centerX.equalTo(friendsBtn.snp_centerX).multipliedBy(0.565)
+            make.width.equalTo(50)
+            make.height.equalTo(69)
+        }
+        wechatBtn.layoutButton(edgeInsetsStyle: ButtonEdgeInsetsStyle.top, imageTitleSpace: 4)
+        
+        friendsBtn.snp.makeConstraints { (make) in
+            make.top.equalTo(titleLabel.snp_bottom).offset(20)
+            make.centerX.equalToSuperview()
+            make.width.equalTo(50)
+            make.height.equalTo(69)
+        }
+        friendsBtn.layoutButton(edgeInsetsStyle: ButtonEdgeInsetsStyle.top, imageTitleSpace: 4)
+        
+        saveImgBtn.snp.makeConstraints { (make) in
+            make.top.equalTo(titleLabel.snp_bottom).offset(20)
+            make.centerX.equalTo(friendsBtn.snp_centerX).multipliedBy(1.435)
+            make.width.equalTo(50)
+            make.height.equalTo(69)
+        }
+        saveImgBtn.layoutButton(edgeInsetsStyle: ButtonEdgeInsetsStyle.top, imageTitleSpace: 4)
+        
+        sepView.snp.makeConstraints { (make) in
+            make.left.right.equalToSuperview()
+            make.height.equalTo(1)
+            make.bottom.equalTo(-44)
+        }
+        
+        jumpBtn.snp.makeConstraints { (make) in
+            make.centerX.equalToSuperview()
+            make.bottom.equalToSuperview()
+            make.width.equalTo(160)
+            make.height.equalTo(44)
+        }
+    }
+    
+    private lazy var titleLabel: UILabel = {
+        let titleLabel = UILabel()
+        titleLabel.text = "向好友传递美好生活,收货更多彩虹豆"
+        titleLabel.textColor = k333333Color
+        titleLabel.font = kRegularFont16
+        return titleLabel
+    }()
+    
+    private lazy var wechatBtn: UIButton = {
+        let wechatBtn = UIButton(type: UIButton.ButtonType.custom)
+        wechatBtn.setTitle("微信", for: UIControl.State.normal)
+        wechatBtn.setTitleColor(k333333Color, for: UIControl.State.normal)
+        wechatBtn.setImage(kImage(name: "edit_pic_wechat"), for: UIControl.State.normal)
+        wechatBtn.titleLabel?.font = kRegularFont11
+        wechatBtn.rx.tap.subscribe(onNext: { [weak self] (data) in
+//            if let allSelectBlock = self?.allSelectBlock {
+//                let isAllSel: Int = wechatBtn.isSelected == true ? 1 : 0
+//                allSelectBlock(isAllSel)
+//            }
+            print("----点击了-微信")
+        }).disposed(by: disposeBag)
+        return wechatBtn
+    }()
+    
+    private lazy var friendsBtn: UIButton = {
+        let friendsBtn = UIButton(type: UIButton.ButtonType.custom)
+        friendsBtn.setTitle("朋友圈", for: UIControl.State.normal)
+        friendsBtn.setTitleColor(k333333Color, for: UIControl.State.normal)
+        friendsBtn.setImage(kImage(name: "edit_pic_moments"), for: UIControl.State.normal)
+        friendsBtn.titleLabel?.font = kRegularFont11
+        friendsBtn.rx.tap.subscribe(onNext: { [weak self] (data) in
+//            if let allSelectBlock = self?.allSelectBlock {
+//                let isAllSel: Int = wechatBtn.isSelected == true ? 1 : 0
+//                allSelectBlock(isAllSel)
+//            }
+            print("----点击了-朋友圈")
+        }).disposed(by: disposeBag)
+        return friendsBtn
+    }()
+    
+    private lazy var saveImgBtn: UIButton = {
+        let saveImgBtn = UIButton(type: UIButton.ButtonType.custom)
+        saveImgBtn.setTitle("保存图片", for: UIControl.State.normal)
+        saveImgBtn.setTitleColor(k333333Color, for: UIControl.State.normal)
+        saveImgBtn.setImage(kImage(name: "edit_pic_download"), for: UIControl.State.normal)
+        saveImgBtn.titleLabel?.font = kRegularFont11
+        saveImgBtn.rx.tap.subscribe(onNext: { [weak self] (data) in
+//            if let allSelectBlock = self?.allSelectBlock {
+//                let isAllSel: Int = wechatBtn.isSelected == true ? 1 : 0
+//                allSelectBlock(isAllSel)
+//            }
+            print("----点击了-保存图片")
+        }).disposed(by: disposeBag)
+        return saveImgBtn
+    }()
+    
+    private lazy var sepView: UIView = {
+        let sepView = UIView()
+        sepView.backgroundColor = kDDDDDDColor
+        return sepView
+    }()
+    
+    private lazy var jumpBtn: UIButton = {
+        let jumpBtn = UIButton(type: UIButton.ButtonType.custom)
+        jumpBtn.setTitle("去首页", for: UIControl.State.normal)
+        jumpBtn.titleLabel?.font = kRegularFont16
+        jumpBtn.setTitleColor(k333333Color, for: .normal)
+        jumpBtn.rx.tap.subscribe(onNext: { [weak self] (data) in
+//            if let orderPayBlock = self?.orderPayBlock {
+//                orderPayBlock()
+//            }
+            print("----点击了-去首页")
+        }).disposed(by: disposeBag)
+        return jumpBtn
+    }()
+    
+}

+ 64 - 0
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishSuccess/PublishSuccessController.swift

@@ -0,0 +1,64 @@
+//
+//  PublishSuccessController.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/17.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+import RxSwift
+
+class PublishSuccessController: BaseViewController {
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        setupViews()
+        setupData()
+    }
+    
+    override func setupViews() {
+        self.view.backgroundColor = kffffffColor
+        
+        view.addSubview(shareView)
+        view.addSubview(iconImageView)
+        
+        shareView.snp.makeConstraints { (make) in
+            make.left.right.equalToSuperview()
+            make.bottom.equalTo(-kSafeTabBarHeight)
+            make.height.equalTo(185)
+        }
+        iconImageView.snp.makeConstraints { (make) in
+            make.top.left.right.equalToSuperview()
+            make.bottom.equalTo(shareView.snp_top)
+        }
+    }
+    
+    override func setupLayouts() {
+        
+    }
+    
+    override func setupData() {
+        
+    }
+    
+    lazy var iconImageView: UIImageView = {
+        let iconImageView = UIImageView()
+        iconImageView.image = kImage(name: "pic_example_12")
+        return iconImageView
+    }()
+    
+    lazy var shareView: PublishShareBottomView = {
+        let shareView = PublishShareBottomView()
+        
+//        shareView.orderPayBlock = {
+//            [weak self] in
+//            if let orderPayTransBlock = self?.orderPayTransBlock {
+//                orderPayTransBlock(self!.selModelArr, self!.totalPrice)
+//            }
+//        }
+        
+        return shareView
+    }()
+    
+}

+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_ico_address.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "edit_ico_address@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "edit_ico_address@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_ico_address.imageset/edit_ico_address@2x.png


BIN
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_ico_address.imageset/edit_ico_address@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_ico_topic.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "edit_ico_topic@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "edit_ico_topic@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_ico_topic.imageset/edit_ico_topic@2x.png


BIN
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_ico_topic.imageset/edit_ico_topic@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_download.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "edit_pic_download@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "edit_pic_download@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_download.imageset/edit_pic_download@2x.png


BIN
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_download.imageset/edit_pic_download@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_moments.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "edit_pic_moments@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "edit_pic_moments@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_moments.imageset/edit_pic_moments@2x.png


BIN
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_moments.imageset/edit_pic_moments@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_wechat.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "edit_pic_wechat@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "edit_pic_wechat@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_wechat.imageset/edit_pic_wechat@2x.png


BIN
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_pic_wechat.imageset/edit_pic_wechat@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_topic_delete.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "edit_topic_delete@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "edit_topic_delete@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_topic_delete.imageset/edit_topic_delete@2x.png


BIN
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_topic_delete.imageset/edit_topic_delete@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_topic_pitchon.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "edit_topic_pitchon@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "edit_topic_pitchon@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_topic_pitchon.imageset/edit_topic_pitchon@2x.png


BIN
RainbowPlanet/RainbowPlanet/Supporting Files/PublishModule.xcassets/edit_topic_pitchon.imageset/edit_topic_pitchon@3x.png