// // MessagesViewController.swift // StickerSlackiMessageExtension // // Created by neon443 on 18/10/2025. // import UIKit import Messages class MessagesViewController: MSMessagesAppViewController { let dataSource: StickerBrowserDataSource = StickerBrowserDataSource() override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. // sleep(5) } // MARK: - Conversation Handling override func willBecomeActive(with conversation: MSConversation) { let l = UILabel() l.frame = CGRect(x: 20, y: 20, width: 200, height: 40) l.textColor = .systemOrange l.text = "hii!" view.addSubview(l) view.bringSubviewToFront(l) let stickerBrowser = MSStickerBrowserView(frame: .zero, stickerSize: .regular) stickerBrowser.frame = CGRect(x: 60, y: 20, width: 200, height: 600) stickerBrowser.dataSource = dataSource stickerBrowser.autoresizingMask = [.flexibleWidth] view.addSubview(stickerBrowser) stickerBrowser.reloadData() view.bringSubviewToFront(stickerBrowser) // Called when the extension is about to move from the inactive to active state. // This will happen when the extension is about to present UI. // Use this method to configure the extension and restore previously stored state. } override func didResignActive(with conversation: MSConversation) { // Called when the extension is about to move from the active to inactive state. // This will happen when the user dismisses the extension, changes to a different // conversation or quits Messages. // Use this method to release shared resources, save user data, invalidate timers, // and store enough state information to restore your extension to its current state // in case it is terminated later. } override func didReceive(_ message: MSMessage, conversation: MSConversation) { // Called when a message arrives that was generated by another instance of this // extension on a remote device. // Use this method to trigger UI updates in response to the message. } override func didStartSending(_ message: MSMessage, conversation: MSConversation) { // Called when the user taps the send button. } override func didCancelSending(_ message: MSMessage, conversation: MSConversation) { // Called when the user deletes the message without sending it. // Use this to clean up state related to the deleted message. } override func willTransition(to presentationStyle: MSMessagesAppPresentationStyle) { // Called before the extension transitions to a new presentation style. // Use this method to prepare for the change in presentation style. } override func didTransition(to presentationStyle: MSMessagesAppPresentationStyle) { // Called after the extension transitions to a new presentation style. // Use this method to finalize any behaviors associated with the change in presentation style. } }