No Description

CreateGroupViewController.swift 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. //
  2. // CreateGroupViewController.swift
  3. // PaiAi
  4. //
  5. // Created by zhengjianfei on 16/4/2.
  6. // Copyright © 2016年 FFIB. All rights reserved.
  7. //
  8. import UIKit
  9. import PaiaiDataKit
  10. import PaiaiUIKit
  11. protocol CreateGroupViewControllerDelegate: class {
  12. func didSelect(_ item: GroupItem)
  13. func navigateToCreateGroupConfirm()
  14. }
  15. final class CreateGroupViewController: AlertViewController {
  16. // MARK: Storyboard property
  17. @IBOutlet weak var tableView: UITableView!
  18. @IBOutlet weak var contentView: UIView!
  19. @IBOutlet weak var contentHeightConstraint: NSLayoutConstraint!
  20. weak var delegate: CreateGroupViewControllerDelegate?
  21. override var animationView: UIView? {
  22. return contentView
  23. }
  24. override var style: AlertViewController.Style {
  25. return .actionSheet
  26. }
  27. // MARK: view function
  28. override func viewDidLoad() {
  29. super.viewDidLoad()
  30. contentHeightConstraint.constant = 48 + 44 * CGFloat(ShareRecentGroupInfo.count + 1)
  31. }
  32. // MARK: Storyboard button function
  33. @IBAction func cancel() {
  34. dismissController()
  35. }
  36. }
  37. extension CreateGroupViewController: UITableViewDataSource, UITableViewDelegate {
  38. func numberOfSections(in tableView: UITableView) -> Int {
  39. return 1
  40. }
  41. func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  42. return ShareRecentGroupInfo.count + 1
  43. }
  44. func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
  45. dismissController()
  46. switch indexPath.row {
  47. case 0:
  48. self.delegate?.navigateToCreateGroupConfirm()
  49. default:
  50. self.delegate?.didSelect(ShareRecentGroupInfo[indexPath.row - 1])
  51. }
  52. }
  53. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  54. switch indexPath.row {
  55. case 0:
  56. let cell = tableView.dequeueReusableCell(withIdentifier: "CreateCell", for: indexPath)
  57. return cell
  58. default:
  59. let cell = tableView.dequeueReusableCell(withIdentifier: "RecentCell", for: indexPath)
  60. let group = ShareRecentGroupInfo[indexPath.row - 1]
  61. cell.textLabel?.text = group.group_name
  62. cell.imageView?.setImage(group.group_avatar, placeholder: UIImage(named: "Group\(group.group_default_avatar)"))
  63. return cell
  64. }
  65. }
  66. }