纯swift实现ipad版简单美团界面功能

2020-01-09 00:06:44王振洲

—-> 2.3 数据源方法三 : 点击cell做出的相应数据改变


//MARK: - 点击左边的cell
extension XFJLRTableView : UITableViewDelegate {
 func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
  //判断是否是左边
  if tableView == leftTableView {//左边
   //获取子数据
   subData = delegateSource?.lrTableView(subDataSource: indexPath.row)
   //调用协议方法(传入用户点击的哪行)
   delegate?.lrTableView(seletLeftButton: indexPath.row)
   //记录用户点击了左侧的哪行
   seletIndex = indexPath.row
   //刷新表格
   rightTableView.reloadData()
  }else{ //右边
   //调用协议方法,传入右侧点击了哪行和左侧选中了哪行
   delegate?.lrTableView(seletRightButton: indexPath.row, seletLeftButton: seletIndex!)
  }
 }
}

九 创建模型

1 导入plist文件

2 创建继承NSObject的类,用来设置需要用到的模型属性

swift,ipad,美团界面

-> 2.1 模型属性一 :(分类中所需要的模型属性)


 var highlighted_icon = String?()
 var icon = String?()
 var name = String?()
 var small_highlighted_icon = String?()
 var small_icon = String?()
 var map_icon = String?()
 var subcategories = [String]?()

—-> 2.2 模型属性二 : (全部模块中所需要的模型属性)


 var name = String?()
 var subregions = [String]?()

—-> 2.3 模型属性三 : (排序模块中所需要的模型属性)


 var label = String?()
 var value = Int?()

3 在各自管理的类中懒加载模型(采用MJ框架加载模型)

—-> 3.1 分类模块中懒加载模型


//懒加载模型
 private lazy var categories : [XFJCategories] = {
  let categoriesData = XFJCategories.objectArrayWithFilename("categories.plist") as NSArray
  //返回模型
  return categoriesData as! [XFJCategories]
 }()

—-> 3.2 地区模块中懒加载模型


 //懒加载
 private lazy var DistrictView :[XFJDistrict] = {
  let DistrictData = XFJDistrict.objectArrayWithFilename("gz.plist") as NSArray
  //返回模型数据
  return DistrictData as! [XFJDistrict]
 }()

—-> 3.3 排序模块中懒加载模型


//创建一个属性记录按钮的点击状态
 var previousButton = UIButton()
 //懒加载
 private lazy var sortsData : [XFJSorts] = {
  //模型转化
  let sortsDatas = XFJSorts.objectArrayWithFilename("sorts.plist") as NSArray
  //返回模型
  return sortsDatas as! [XFJSorts]
 }()

十 自定义cell

1 通过功能图知道Popover出来的控制器中cell中既展示图片又展示文字,所以我们通过自定义cell来设置 2 自定义左边的tableViewCell