NavigationItem.rightBarButtonItem не работает - PullRequest
0 голосов
/ 06 мая 2020

Вот инициализированная кнопка «Поделиться»:

let shareButton = UIBarButtonItem(image: #imageLiteral(resourceName: "ShareButtonCircle"), style: .plain, target: self, action: #selector(shareButtonTapped))

Вот Obj c метод:

print("Share Button Clicked")
    let topicTitleAndDesc = [self]
    let vc = UIActivityViewController(activityItems: topicTitleAndDesc, applicationActivities: nil)
    present(vc, animated: true)

viewDidLoad:

self.navigationItem.rightBarButtonItem = shareButton

Отображается на экране, но не выполняет действие:

screenshot

Ответы [ 2 ]

1 голос
/ 06 мая 2020

У меня нет проблем с кодом ниже:

override func viewDidLoad() {
        super.viewDidLoad()
        let shareButton = UIBarButtonItem(image: #imageLiteral(resourceName: "ShareButtonCircle"), style: .plain, target: self, action: #selector(shareButtonTapped))
        self.navigationItem.rightBarButtonItem = shareButton
}

@objc func shareButtonTapped() {
        print("Share Button Clicked")
        let topicTitleAndDesc = [self]
        let vc = UIActivityViewController(activityItems: topicTitleAndDesc, applicationActivities: nil)
        present(vc, animated: true)
    }

ЗДЕСЬ РЕЗУЛЬТАТ

1 голос
/ 06 мая 2020

Вы пытаетесь поделиться UIViewController, поэтому вы не получаете ответа. Попробуйте изменить элементы следующим образом:

let vc = UIActivityViewController(activityItems: [String(describing: self)], applicationActivities: nil)
...