Я использую контроллер выбора времени sambag, и я установил время на кнопку в методе выбора sambag, но проблема в том, что у меня есть несколько кнопок в одном контроллере представления, поэтому я сделал это для каждого метода, кроме установленного времени, во время кнопки установки всех кнопок название меняет то, что я хочу, это только изменить значение кнопки, которую я нажал
здесь я покажу вам, что я пробовал, я покажу вам свой код
import UIKit
class ManageHoursViewController: UIViewController {
var theme: SambagTheme = .light
var result : String!
@IBOutlet weak var btnMonStartTime: UIButton!
@IBOutlet weak var btnMonEndTime: UIButton!
@IBOutlet weak var btnMonOff: UIButton!
@IBOutlet weak var btnMonOn: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
round()
let hh2 = (Calendar.current.component(.hour, from: Date()))
let mm2 = (Calendar.current.component(.minute, from: Date()))
print(hh2)
print(mm2)
let dateTime = "\(hh2) : \(mm2)"
btnMonStartTime.setTitle("\(dateTime)", for: .normal)
btnMonEndTime.setTitle("\(dateTime)", for: .normal)
// Do any additional setup after loading the view.
}
func round(){
btnMonOff.isHidden = true
btnMonStartTime.layer.cornerRadius = btnMonStartTime.frame.height / 2
btnMonStartTime.layer.shadowColor = UIColor(red: 154/255, green: 154/255, blue: 154/255, alpha: 1).cgColor
btnMonStartTime.layer.shadowOffset = CGSize(width: 0, height: 1)
btnMonStartTime.layer.shadowOpacity = 1.0
btnMonStartTime.layer.shadowRadius = 2.0
btnMonStartTime.layer.masksToBounds = false
btnMonEndTime.layer.cornerRadius = btnMonEndTime.frame.height / 2
btnMonEndTime.layer.shadowColor = UIColor(red: 154/255, green: 154/255, blue: 154/255, alpha: 1).cgColor
btnMonEndTime.layer.shadowOffset = CGSize(width: 0, height: 1)
btnMonEndTime.layer.shadowOpacity = 1.0
btnMonEndTime.layer.shadowRadius = 2.0
btnMonEndTime.layer.masksToBounds = false
}
@IBAction func btnMonStartTimeTapped(_ sender: UIButton) {
let vc = SambagTimePickerViewController()
vc.theme = theme
vc.delegate = self
present(vc, animated: true, completion: nil)
}
@IBAction func btnMonEndTimeTapped(_ sender: UIButton) {
let vc = SambagTimePickerViewController()
vc.theme = theme
vc.delegate = self
present(vc, animated: true, completion: nil)
}
}
extension ManageHoursViewController : SambagTimePickerViewControllerDelegate {
func sambagTimePickerDidSet(_ viewController: SambagTimePickerViewController, result: SambagTimePickerResult) {
self.result = "\(result)"
print(self.result)
btnMonStartTime.setTitle(self.result, for: .normal)
btnMonEndTime.setTitle(self.result, for: .normal)
viewController.dismiss(animated: true, completion: nil)
}
func sambagTimePickerDidCancel(_ viewController: SambagTimePickerViewController) {
viewController.dismiss(animated: true, completion: nil)
}
}
Я хочу, чтобы, когда кнопка времени начала понедельника нажималась, и я выбираю средство выбора формы времени, тогда только значение кнопки времени начала понедельника изменяется, теперь все значение кнопки изменено





Вы можете создать переменную для отслеживания последнего нажатого
var lastBu: UIButton!
@IBAction func btnMonStartTimeTapped(_ sender: UIButton) {
let vc = SambagTimePickerViewController()
vc.theme = theme
vc.delegate = self
lastBu = sender
present(vc, animated: true, completion: nil)
}
@IBAction func btnMonEndTimeTapped(_ sender: UIButton) {
let vc = SambagTimePickerViewController()
vc.theme = theme
vc.delegate = self
lastBu = sender
present(vc, animated: true, completion: nil)
}
Да спасибо :)
тогда на lastBu я могу установить заголовок для определенной кнопки, верно?