123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- import UIKit
- import PaiaiDataKit
- import PaiaiUIKit
- protocol CreateGroupViewControllerDelegate: class {
- func createGroupViewControllerDidSelect(_ item: GroupItem)
- func navigateToCreateGroupConfirm()
- }
- final class CreateGroupViewController: AlertViewController {
-
- @IBOutlet weak var tableView: UITableView!
- @IBOutlet weak var contentView: UIView!
- @IBOutlet weak var contentHeightConstraint: NSLayoutConstraint!
- weak var delegate: CreateGroupViewControllerDelegate?
- override var animationView: UIView? {
- return contentView
- }
- override var style: AlertViewController.Style {
- return .actionSheet
- }
-
- override func viewDidLoad() {
- super.viewDidLoad()
- contentHeightConstraint.constant = 48 + 44 * CGFloat(RecentGroupInfo.share.count + 1)
- }
-
- @IBAction func cancel() {
- dismissController()
- }
- }
- extension CreateGroupViewController: UITableViewDataSource, UITableViewDelegate {
- func numberOfSections(in tableView: UITableView) -> Int {
- return 1
- }
- func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- return RecentGroupInfo.share.count + 1
- }
- func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
- dismissController()
- switch indexPath.row {
- case 0:
- self.delegate?.navigateToCreateGroupConfirm()
- default:
- self.delegate?.createGroupViewControllerDidSelect(RecentGroupInfo.share[indexPath.row - 1])
- }
- }
- func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
- switch indexPath.row {
- case 0:
- let cell = tableView.dequeueReusableCell(withIdentifier: "CreateCell", for: indexPath)
- return cell
- default:
- let cell = tableView.dequeueReusableCell(withIdentifier: "RecentCell", for: indexPath)
- let group = RecentGroupInfo.share[indexPath.row - 1]
- cell.textLabel?.text = group.groupName
- cell.imageView?.setImage(group.groupAvatar, placeholder: UIImage(named: "Group\(group.groupDefaultAvatar)"))
- return cell
- }
- }
- }
- extension CreateGroupViewController: Storyboarded {
- static func instantiate() -> CreateGroupViewController {
- return UIStoryboard.main.instantiateViewController(type: CreateGroupViewController.self)
- }
- }
|