import UIKit
// MARK: 生意号
class BusinessNoController: BaseController {
// MARK: Parameter_ComeIn
// MARK: Parameter
// MARK: Model
// MARK: Properties
// MARK: LifeCycle
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.title = "生意号"
// AddView
// Layout
self.setUI()
// AddRequest
self.request_init()
// AddEvent
self.allread_Event()
// NotificationCenter
}
// MARK: Layout
private func setUI() {}
// MARK: Notification
@objc func LaunchImgEvent(notification: NSNotification) {
let noti = notification.object as! [String]
if noti[0] == "" { }
else {
}
}
// MARK: Network
private func request_init() {}
private func request_AccountList() {}
// MARK: Event // 事件都带上_Event、
@objc private func allread_Event() {}
}
// MARK: Extension
extension BusinessNoController: {
// MARK: UITableViewDelegate, UITableViewDataSource
// - DZNEmptyDataSetSource, DZNEmptyDataSetDelegate
// - UITableViewDelegate, UITableViewDataSource
// header
// footer
// selected
}
// 记账本Cell
class ChargeAccountTableViewCell: UITableViewCell {
// MARK: Config
var topCorners = false {
didSet {
self.layoutSubviews()
}
}
var singleAccountModel: SingleAccountModel? {
didSet {
// 描述
des.text = singleAccountModel?.remark
// 日期
date.text = singleAccountModel?.create_time
// 1进账,2使用
singleAccountModel?.in_out == 1 ? (money.textColor = UIColor(hexString: "#FF7531")):(money.textColor = UIColor(hexString: "#2573FB"))
money.text = singleAccountModel?.amount
}
}
override func layoutSubviews() {
super.layoutSubviews()
if topCorners == true {
bgView.roundCorners_CN([.layerMinXMinYCorner, .layerMaxXMinYCorner], cornersForEarly: [.topLeft, .topRight], radii: 8)
}
}
}
model的规范
// 单条模块
class SingleModuleModel: Mappable {
var module_name = "" // 模块名字
var module_icon_url = "" // 模块图标
var group_id = 0 // 模块id
var time = "" // 模块添加时间
var is_read = 0 // 是否已读,1是0否
// 新闻列表
var newListModel = [SingleNewModel]()
required init?(map: Map) { }
func mapping(map: Map) {
id <- map["id"]
name <- map["name"]
}
}
符号对齐
// Config…
声明属性时,输入属性的话加后缀 _Input
作为附属属性时,如 _Line
private let account_Input: UITextField = {
let textField = UITextField()
textField.font = UIFont.adjustFontSize(ofSize: 14)
textField.placeholder = "请输入手机号"
textField.clearButtonMode = .whileEditing
textField.contentVerticalAlignment = .center
textField.keyboardType = .numberPad
textField.textColor = UIColor(hexString: "#333333")
return textField
}()
private let account_Line: UIView = {
let vie = UIView()
vie.backgroundColor = Color_lineColor
return vie
}()
// 多个括号加注释是谁的结尾
}
} // if end
} // snp end
} // for end
}
}
private let shopName: UILabel = {
let label = UILabel()
label.textColor = Color_TitleColor
label.text = UserDefaultsManager_CN.queryData(Defaults_User_ShopName)
label.textAlignment = .center
label.font = UIFont.adjustBoldFontSize(ofSize: 23)
return label
}()
private let bgImageV = UIImageView(image: UIImage(named: "ShopCode_Sucai"))
private let save: UIButton = {
let btn = UIButton()
btn.setTitle("保存至相册", for: .normal)
btn.setTitleColor(UIColor.white, for: UIControl.State.normal)
btn.titleLabel?.font = UIFont.adjustFontSize(ofSize: 16)
return btn
}()
extension的规范
// MARK: 设置颜色
public extension UIColor {
/*
USE :设置RGB颜色
*/
static func adjustColorRGB_CN(_ r: CGFloat, _ g: CGFloat, _ b: CGFloat, _ a: CGFloat) -> UIColor {
return UIColor(red: r / 255.0, green: g / 255.0, blue: b / 255.0, alpha: a)
}
}
public extension UIView {
/*
USE :UIView及其子类,添加点击手势 */
func setTapGesture_CN(target: AnyObject, action: Selector) {
self.isUserInteractionEnabled = true
let tapGesture = UITapGestureRecognizer(target : target, action : action)
self.addGestureRecognizer(tapGesture)
}
/*
USE :UIView及其子类,设置部分圆角
Tips :iOS11以后使用maskedCorners进行圆角设置,之前使用使用贝塞尔曲线画圆角。
Parameters:
- corners: 需要实现为圆角的角
- radii : 圆角半径
- CACornerMask: layerMaxXMaxYCorner - 右下角; layerMaxXMinYCorner - 右上角;
layerMinXMaxYCorner - 左下角; layerMinXMinYCorner - 左上角;
- UIRectCorner: bottomRight - 右下角; topRight - 右上角;
bottomLeft - 左下角; topLeft - 左上角; */
func roundCorners_CN(_ cornersForIOS11: CACornerMask?, cornersForEarly: UIRectCorner?, radii: Double) {
if #available(iOS 11.0, *) {
self.layer.cornerRadius = CGFloat(radii)
self.layer.maskedCorners = cornersForIOS11!
self.clipsToBounds = true
} else {
// Fallback on earlier versions,
// 在视图出现后进行渲染:在viewDidAppear()或viewDidLayoutSubviews()方法中使用,需要在layoutsubviews 中使用
let path = UIBezierPath(roundedRect : self.bounds, byRoundingCorners : cornersForEarly!, cornerRadii : CGSize(width : radii, height : radii))
let maskLayer = CAShapeLayer()
maskLayer.frame = self.bounds
maskLayer.path = path.cgPath
self.layer.mask = maskLayer
}
}
BaseController {
// MARK: Parameter_ComeIn
// MARK: Parameter
// MARK: Model
// MARK: Properties
// MARK: LifeCycle
override func loadView() {
super.loadView()
self.navigationItem.title = "多彩开始"
self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: UIImage(named: "Message_Home"), style: .plain, target: self, action: #selector(self.lookMessage_Event))
}
override func viewDidLoad() {
super.viewDidLoad()
}
// MARK: Event
@objc private func lookMessage_Event() {
}
}
class xxx: UITableViewCell {
// MARK: Properties
// MARK: LifeCycle
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
// AddView
// Layout
}
// MARK: Layout
private func setUI() {
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
import Foundation
import ObjectMapper
// 所有消息
struct SmartHelperAllMessageModel: Mappable {
var status = 0
var msg = ""
var customer_hello = "" // 客服问候语
var fixed_problems = [SingleFixed_problemsModel]() // 固定问题列表
var chats = [SingleChatsModel]() // 用户留言 后台回复记录,返回最近的20条,之前的记录不再返回
init?(map: Map) { }
mutating func mapping(map: Map) {
status <- map["status"]
msg <- map["msg"]
customer_hello <- map["data.customer_hello"]
fixed_problems <- map["data.fixed_problems"]
chats <- map["data.chats"]
}
}
struct SingleFixed_problemsModel: Mappable {
var id :Int!
var fixed_problem = ""
var answer = ""
init?(map: Map) { }
mutating func mapping(map: Map) {
id <- map["id"]
fixed_problem <- map["fixed_problem"]
answer <- map["answer"]
}
}
struct SingleChatsModel: Mappable {
var id :Int!
var from_type :Int!
var content = ""
var create_time = ""
init?(map: Map) { }
mutating func mapping(map: Map) {
id <- map["id"]
from_type <- map["from_type"]
content <- map["content"]
create_time <- map["create_time"]
}
}
网友评论