123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- //
- // IHTPickerAreaCell.swift
- // Inhealth
- //
- // Created by weclouds on 2020/3/17.
- // Copyright © 2020 weclouds. All rights reserved.
- //
- //如果啥都没做,就点击保存???
- //如果啥都没做
- import UIKit
- protocol IHTPickerAreaCellDelegate : NSObjectProtocol{
- func selectedCity(_ indexPath :IndexPath)
- }
- class IHTPickerAreaCell: UITableViewCell {
- var cityCallback:((DropDownData)->Void)?
- var cityList :[DropDownData]?{
- didSet{
- if let citylist = self.cityList {
- if citylist.count > 0 {
- self.scrollView?.removeSubviews()
- self.scrollView?.addSubview(buttonView)
- self.buttonView.frame = CGRect(x: 10, y: 0, width: KSCREENWIDTH - 20, height: culAreaCellHeight(citylist.count))
- self.scrollView?.contentSize = CGSize(width: 0, height: culAreaCellHeight(citylist.count))
- self.buttonView.reloadData()
- }
- }
- }
- }
-
- lazy var buttonView: IHButtonView = {
- let buttonView = IHButtonView()
- buttonView.delegate = self
- return buttonView
- }()
-
- var scrollView:UIScrollView?
- override func awakeFromNib() {
- super.awakeFromNib()
- scrollView = UIScrollView()
- self.contentView.addSubview(scrollView!)
- }
- override func setSelected(_ selected: Bool, animated: Bool) {
- super.setSelected(selected, animated: animated)
- }
-
- override func layoutSubviews() {
- super.layoutSubviews()
- self.scrollView?.frame = self.bounds
- }
- //这里只处理大于0的情况 小于零不创建
- func culAreaCellHeight(_ cityCount: Int) ->CGFloat {
- //计算行数
- let row : Int = cityCount / 4
- let contentViewHight = 30 * (row + 1) + 10 + 10 + 10 * row
- return CGFloat(contentViewHight)
-
- }
- }
- extension IHTPickerAreaCell:IHButtonViewDelegate{
- func numberofItem(in buttonView: IHButtonView) -> Int {
- return self.cityList?.count ?? 0
- }
-
- func buttonView(_ buttonView: IHButtonView, titleFor item: Int) -> String {
- return self.cityList![item].name!
- }
-
-
- func buttonView(_ buttonView: IHButtonView, didSelected item: Int) {
- log.debug(self.cityList![item].name!)
- let city = self.cityList![item]
- Intermediate.cityId = city.id!
- Intermediate.cityName = city.name!
- if let block = self.cityCallback {
- block(self.cityList![item])
-
- }
- }
-
-
- }
|