У меня есть UITableViewRowAction
, поэтому, когда я слажу, есть 3 варианта, из которых я могу выбрать. Если я нажму кнопку Call
, я хочу, чтобы новый ViewController
появлялся по всему экрану. И если я нажму на кнопку внутри нового ViewController
Я хочу, чтобы его увольняли.Я хочу открыть новый ViewController через UITableViewRowButtonAction
По щелчку на кнопке вызова открывает ViewController, как пирог
Это открывает после моего нажатия на кнопку, и это должно отклонить по щелчку на нижней х кнопки
Это мой код
func buttonToDismiss (sender: AnyObject) {
self.presentedViewController?.dismiss(animated: true, completion: nil)
}
func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
let callButton = UITableViewRowAction(style: .default, title: "Call", handler: { (action, indexPath) in
self.tableView.dataSource?.tableView?(
self.tableView,
commit: .delete,
forRowAt: indexPath)
let vc = UIViewController(nibName: nil, bundle: nil)
vc.view.frame = CGRect(x: 0, y: 0, width: 100, height: 200)
vc.view.backgroundColor = UIColor(red: 62/255.0, green: 70/255.0, blue: 80/255.0, alpha: 1.0)
vc.modalPresentationStyle = .popover
let declineButton = UIButton()
declineButton.frame = CGRect(x: 150, y: 484, width: 75, height: 75)
declineButton.backgroundColor = UIColor(red: 36/255.0, green: 44/255.0, blue: 55/255.0, alpha: 1.0)
declineButton.tintColor = UIColor.white
declineButton.layer.cornerRadius = declineButton.frame.size.height/2
declineButton.layer.masksToBounds = true
declineButton.clipsToBounds = true
declineButton.setTitle("X", for: .normal)
declineButton.addTarget(self, action: Selector(("buttonToDismiss:")), for: UIControlEvents.touchUpInside)
vc.view.addSubview(declineButton)
let popover = vc.popoverPresentationController!
let cell = tableView.cellForRow(at: indexPath)!
var cellAbsolutePosition = cell.superview!.convert(cell.frame.origin, to: nil)
cellAbsolutePosition.x = cell.frame.width - 60
popover.sourceRect = CGRect(origin: cellAbsolutePosition, size: cell.frame.size)
popover.sourceView = tableView
self.present(vc, animated: true, completion: nil)
return
})
Я знаю, что код я считаю очень хаотичным, но я пока не очень хорошо разбираюсь в приложениях.
Я ценю любую помощь и благодарю вас за ваши усилия.
Пожалуйста, опишите свой запрос чуть подробнее ... Загрузка изображений и уточнение ваших потребностей помогут нам лучше ориентироваться в этом вопросе. –
Выше мой текущий код, и у меня есть контроллер вида с popOverPresentation, который похож на тот, что на картинке. Но я хочу добавить кнопку в контроллер вида, чтобы она исчезла, когда я нажимаю на кнопку, чтобы остановить контроллер представления, и снова появился контроллер родительского представления. Я загружаю еще две фотографии, чтобы лучше понять, что я имею в виду. – devtimg
Почему вы используете простой 'UIViewController'? Создайте новый 'ViewController' в' xib/storyboard' вместо этого, создайте '@ IBAction' и подключите его к кнопке увольнения. – Adeel