Опция вставки ссылки на листы и копии iOS не работает в определенных ситуациях - PullRequest
0 голосов
/ 26 февраля 2019

У нас довольно странная проблема с копированием общего ресурса.

Мы просто кратко расскажем о контенте, а затем предоставим ссылку на активность общего ресурса, как в ...

    guard let viewController = vc, let sourceView = viewController.view, let url = URL(string: link) else { 
        return
    }

    let activityViewController = UIActivityViewController(activityItems: [text, url], applicationActivities: nil)

    viewController.present(activityViewController, animated: true, completion: nil)
    activityViewController.popoverPresentationController?.sourceView = sourceView

Это прекрасно работает, за исключением нашего внутреннего чата.В нашем текстовом представлении чата появляется текстовое сообщение, но ссылка не отображается рядом с текстом, как ожидалось.

Текстовое представление: SlackTextViewController (я знаю, что этосейчас устарела, мы использовали его некоторое время).Я не смог найти никакой документации, которая бы указывала на то, что они дезинфицируют ввод или каким-либо образом удаляют ссылку, но, скорее всего, это как-то связано с этим компонентом.Я попробовал простую реализацию textView:shouldChangeTextInRange для печати текста, полученного textView, и, конечно же, там нет никакой ссылки.

Просто для полноты картины это выглядит так.

override func textView(_: UITextView, shouldChangeTextIn _: NSRange, replacementText text: String) -> Bool {
    print(text)
    return true
}

Кроме того, если вы копируете / вставляете ссылку напрямую, это прекрасно работает.Если вы скопируете текст в виде простого текста и вставите его, он также будет работать нормально.Это наводит меня на мысль, что здесь чего-то не хватает при обработке этого общего текста.

Кто-нибудь сталкивался с этой проблемой в пасте?Есть ли какой-то жизненный цикл / делегат, который необходимо реализовать для обработки общего текста?

1 Ответ

0 голосов
/ 13 марта 2019

Надеюсь, это поможет кому-то еще - проблема здесь в том, что slacktextviewcontroller переопределяет поведение вставки по умолчанию, и это вызывает некоторые проблемы с общей копией, где он вставляет текст , но не скопированный URL .

...