[SWIFT] Teile es mit deiner Instagram-Geschichte!

Teile es mit deiner Instagram-Geschichte!

Was Sie diesmal lernen können

Das fertige Bild sieht so aus!

App-Seite Instagram Geschichte

Bild und Beschriftung werden in der Ansicht angezeigt, und die Ansicht wird in ein Bild konvertiert und an die Instagram-Story übergeben.

Datum und Uhrzeit abrufen

Dieses Mal wird das Datum angezeigt, so dass leicht bestätigt werden kann, dass sich der Wert bei der Anzeige geändert hat. Durch Hinzufügen von Variablen wie Benutzername zu Label wird das Design einfacher instagram.

ViewController.swift


@IBOutlet weak var dateLable: UILabel!   //Verbinden Sie sich mit dem Storyboard-Label
//------------------------------------------------------
//super.viewDidLoad()Beschrieben in
let format = DateFormatter()
format.timeStyle = .medium
format.dateStyle = .long
format.locale = Locale(identifier: "ja_JP")
let date = Date()
 dateLable.text = format.string(from: date)

Ansicht in UIImage # konvertieren

Verbinden wir die mit Storyboard erstellte Ansicht mit @IBOutle mit dem ViewController! Erweitern Sie nach dem Herstellen der Verbindung UIView und fügen Sie den folgenden Code hinzu, um das image = part zum Zeitpunkt der Konvertierung aufzurufen.

ViewController.swift


@IBOutlet weak var screensShotView: UIView!   //Stellen Sie eine Verbindung mit der Storyboard-Ansicht her
//------------------------------------------------------
//Fügen wir den folgenden Code als Erweiterung von UIVIew hinzu.
//view.asImage()Sie können Ansicht jederzeit in Bild mit konvertieren.
extension UIView {
    //Code zum Konvertieren von UIView in UIImage
    func asImage() -> UIImage {
        let renderer = UIGraphicsImageRenderer(bounds: bounds)
        return renderer.image { rendererContext in
            layer.render(in: rendererContext.cgContext)
        }
    }
}

//view.asImage()Sie können es mit in UIImage konvertieren. Es ist besser, es aufzurufen, wenn die Taste gedrückt wird.
let image = screensShotView.asImage()

Teile Bilder mit der Instagram-Story

Eine detaillierte Liste der Instagram-Schemata finden Sie unter Offizielle Dokumente.

ViewController.swift


private func setupOpenInstagram() {
        let image = screensShotView.asImage()
        let items: [[String: Any]] = [[
            "com.instagram.sharedSticker.stickerImage": image,
            "com.instagram.sharedSticker.backgroundTopColor": "#000000",
            "com.instagram.sharedSticker.backgroundBottomColor": "#FFFFFF"
        ]]
        UIPasteboard.general.setItems(items, options: [:])
        guard let shareInstagramStoryURL = "instagram-stories://share".convertURL else { return }
        UIApplication.shared.open(shareInstagramStoryURL, options: [:], completionHandler: nil)
    }

Das Material ist ein Bild eines Illustrationsgeschäfts. https://www.irasutoya.com/2019/04/blog-post_34.html

Überprüfen Sie, ob Sie einen Schemaschlüssel für eine bestimmte App haben. https://qiita.com/nagaoyuriko/items/67c5e262f6e88cd88885

Recommended Posts

Teile es mit deiner Instagram-Geschichte!
Eine Geschichte, die bei NotSerializableException steckt