gpt4 book ai didi

ios - swift 3 : iMessage Extension detect User tap on Message and Detect Manual Slide

转载 作者:搜寻专家 更新时间:2023-11-01 07:05:54 34 4
gpt4 key购买 nike

  1. 我如何检测用户在对话中点击“消息”?
  2. 如果 MessageViewController Controller 很紧凑并且用户向上滑动我如何检测到它?

我试过这些代表,但它不能正常工作

override func didSelect(_ message: MSMessage, conversation: MSConversation) {
print("DID SELCT")
}
override func willSelect(_ message: MSMessage, conversation: MSConversation) {
print("WILL SELCT")
}

最佳答案

Q1。我如何检测用户在对话中点击“消息”?

A1。在 iOS 11 及更高版本中,您可以为消息使用实时布局(请参阅类 MSMessageLiveLayout (@available(iOS 11.0, *))。这样做时,您可以添加当您的 MSMessagesAppViewController 实例的 presentationStyle.transcript 时,将一个 UITapGestureRecognizer 实例显示在对话记录中( @available(iOS 11.0, *)).

观看 WWDC 2017 - Session 234 - iOS 中的视频iMessage 应用程序的新功能 ( https://developer.apple.com/videos/play/wwdc2017/234/?time=1726 )。在演示文稿进行到大约 29 分钟时,您会看到关于点击手势识别器的讨论。请参阅视频前面部分,了解如何检测 MSMessagesAppViewController 子类的 willBecomeActive(with:) 方法中的 .transcript 呈现样式,并呈现适当的 subview Controller 。

Q2。如果 MessageViewController Controller 很紧凑并且用户向上滑动我如何检测到它?

A2。在您的 MSMessagesAppViewController 子类中重写 willTransition(to:),如下所示:

override func willTransition(to newPresentationStyle: MSMessagesAppPresentationStyle) {
super.willTransition(to: newPresentationStyle) // don't forget to call super

// note that MSMessagesAppViewController's `presentationStyle` property holds the presentation style BEFORE the transition
print("will transition() from \(presentationStyle.rawValue) to \(newPresentationStyle.rawValue) [0 = .compact, 1 = .expanded, 2 = .transcript]")

if (presentationStyle == .compact && newPresentationStyle == .expanded) {
// handle transition from .compact to .expanded here

}
}

关于ios - swift 3 : iMessage Extension detect User tap on Message and Detect Manual Slide,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48032024/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com