Мне нужно, чтобы моя кнопка с плавающим действием прилипала к заголовку раздела.Как я могу это сделать?
Я использовал эту библиотеку для создания плавающей кнопки действия: 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()}
}
}
Я сделал код сокращенным.Заранее спасибо.