EKEventViewController не будет отображать кнопку редактирования на iOS 13 - PullRequest
0 голосов
/ 28 октября 2019

У меня есть простое приложение, в котором я хочу представить событие в EKEventViewController.

    // the button action which validates if the event store access is granted and presents the given alert if true
    @IBAction func actionButtonShowPopover(_ sender: Any) {
        eventStore.requestAccess(to: .event) { (granted, _) in
            guard granted else { return }

            let event = self.generateAndSaveEvent()
            self.presentEventViewController(withEvent: event)
        }
    }
    // creates and tries to save an sample even and returns it
    private func generateAndSaveEvent() -> EKEvent {
        let event = EKEvent(eventStore: eventStore)

        event.title = "Event Title"
        event.startDate = Date()
        event.endDate = Date().addingTimeInterval(1800)
        event.calendar = eventStore.defaultCalendarForNewEvents

        do {
            try eventStore.save(event, span: .thisEvent)
        } catch(let error) {
            print(error)
        }

        return event
    }
    // displays an EKEventViewController with our newly created event within an popover
    private func presentEventViewController(withEvent event: EKEvent) {
        DispatchQueue.main.async {
            let eventVC = EKEventViewController()

            eventVC.event = event
            eventVC.allowsEditing = true

            eventVC.modalPresentationStyle = .popover
            eventVC.popoverPresentationController?.sourceView = self.buttonShowPopover
            eventVC.popoverPresentationController?.sourceRect = self.buttonShowPopover.frame.offsetBy(dx: 0, dy: -10)
            eventVC.popoverPresentationController?.backgroundColor = .white
            eventVC.popoverPresentationController?.permittedArrowDirections = .up

            self.present(eventVC, animated: false, completion: nil)
        }
    }

Я создал событие, как показано в коде выше, и просто отобразил его в контроллере всплывающего окна. начиная с ios 13 я получил другой результат:

iOS 12.4 с кнопкой редактирования

iOS 13 без кнопки редактирования

isесть ли шанс, что я пропускаю изменения с iOS12 -> iOS13? Спасибо заранее - я благодарен за любой совет!

1 Ответ

0 голосов
/ 05 ноября 2019

Кнопка редактирования переместилась на панель навигации в iOS 13. Вам нужно представить ее без стиля popover.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...