Как поместить плавающую кнопку действия в один из заголовков разделов в моем табличном представлении? - PullRequest
0 голосов
/ 20 января 2019

Мне нужно, чтобы моя кнопка с плавающим действием прилипала к заголовку раздела.Как я могу это сделать?

Я использовал эту библиотеку для создания плавающей кнопки действия: ActionButton .

Вот моя функция для кнопки:

func setupButtons() {
    let google = ActionButtonItem(title: "Bio", image: #imageLiteral(resourceName: "ic_action_bio"))
    let twitter = ActionButtonItem(title: "Notif", image: #imageLiteral(resourceName: "ic_action_notif"))
    actionButton = ActionButton(attachedToView: self.view, items: [google , twitter])
    actionButton.setTitle("+", forState: UIControlState()  )
    actionButton.backgroundColor = UIColor(displayP3Red: 1/255, green: 130/255, blue: 130/255, alpha: 1)
    actionButton.action = {button in button.toggleMenu()}
}

А вот мой полный код:

import UIKit

struct Tanzimaat {
    var itemName: String
    var itemImage: String  }


class TanzimaatTableViewCell: UITableViewCell {
    @IBOutlet weak var itemImage: UIImageView!
    @IBOutlet weak var itemName: UILabel!
}

class SettingsTableViewController:  UIViewController, UITableViewDelegate , UITableViewDataSource {

    @IBOutlet var tableVieww: UITableView!
    @IBOutlet var FooterLabel: UILabel!

    override func viewDidLoad() {
        tableVieww.dataSource=self
        tableVieww.delegate=self
        setupButtons()

    }

    var actionButton : ActionButton!

    var tanzimaats = [
        Tanzimaat(itemName: "xxx", itemImage: "ic_action_notif"),
        Tanzimaat(itemName: "yyy", itemImage: "ic_action_data"),
        ]

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

         return tanzimaats.count
        }


     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

            let cell = tableView.dequeueReusableCell(withIdentifier: "LabelCell3", for: indexPath) as! TanzimaatTableViewCell
            let tanzimaat = tanzimaats[indexPath.row]
            cell.itemName?.text = tanzimaat.itemName
            cell.itemImage?.image = UIImage(named: tanzimaat.itemImage)
            return cell

        }

     func numberOfSections(in tableView: UITableView) -> Int {
        return 1    }

     func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        let sectionName: String
        tableView.separatorInset = UIEdgeInsetsMake(0, 65, 0, 0)
        tableView.separatorColor = UIColor.lightGray
        sectionName = NSLocalizedString( "تنظیمات", comment: "mySectionName")

        return sectionName
    }


     func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        let customedGreen = UIColor(red: 0, green: 110/255, blue: 71/255, alpha: 1)
       let headerView = UIView()
        headerView.backgroundColor = UIColor.white
        let headerLabel = UILabel(frame: CGRect(x: 35, y: 15, width: tableView.bounds.size.width, height: 65))
        headerLabel.font = UIFont.boldSystemFont(ofSize: 17.0)
        headerLabel.textColor = customedGreen
        headerLabel.backgroundColor = UIColor.white
        headerLabel.text = self.tableView(tableView, titleForHeaderInSection: section)
        headerLabel.sizeToFit()
        headerView.addSubview(headerLabel)
        return headerView
            }

     func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return section == 0 ? 1.0 : 57
    }

     func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
        //someThing
    }


    func setupButtons(){
        let google = ActionButtonItem(title: "Bio", image: #imageLiteral(resourceName: "ic_action_bio"))
        let twitter = ActionButtonItem(title: "Notif", image: #imageLiteral(resourceName: "ic_action_notif"))
        actionButton = ActionButton(attachedToView: self.view, items: [google , twitter])
        actionButton.setTitle("+", forState: UIControlState()  )
        actionButton.backgroundColor = UIColor(displayP3Red: 1/255, green: 130/255, blue: 130/255, alpha: 1)
        actionButton.action = {button in button.toggleMenu()}
        }
}

Я сделал код сокращенным.Заранее спасибо.

...