Захват определенной части представления вместо всего представления - PullRequest
1 голос
/ 25 июня 2019

У меня есть приложение, которое имеет панель навигации с кнопкой «Поделиться», которая захватывает вид и делится им с Facebook, Twitter, Imessages и т. Д. Внизу у меня также есть UIStackView, который позволяет мне пролистывать свои представления назад и вперед ,

Проблема в том, что когда я использую этот код:

 @objc func handleShare() {
    print("sharing image")

    UIGraphicsBeginImageContext(view.frame.size)
    view.layer.render(in: UIGraphicsGetCurrentContext()!)

    guard let image = UIGraphicsGetImageFromCurrentImageContext()
        else {return}

    let activityViewController = UIActivityViewController(activityItems: [image], applicationActivities: nil)
    activityViewController.popoverPresentationController?.barButtonItem = navigationItem.rightBarButtonItem
    present(activityViewController, animated: true, completion: nil)

}

Это также захватывает мой UIStackView (предыдущая и следующая кнопка внизу представления).

Можно ли как-то указать, какую часть изображения я хочу захватить?

Весь код был выполнен программно, без раскадровки.

1 Ответ

0 голосов
/ 25 июня 2019

Пройдите UIView, который вы хотите захватить.Сделайте stackView из представления, которое вы передаете функции.

 @objc func handleShare(yourView: UIView) {
print("sharing image")

UIGraphicsBeginImageContext(yourView.frame.size)
view.layer.render(in: UIGraphicsGetCurrentContext()!)

guard let image = UIGraphicsGetImageFromCurrentImageContext()
    else {return}

let activityViewController = UIActivityViewController(activityItems: [image], applicationActivities: nil)
activityViewController.popoverPresentationController?.barButtonItem = navigationItem.rightBarButtonItem
present(activityViewController, animated: true, completion: nil)


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