Instagram의 이야기에 공유해 보자!

7864 단어 InstagramSwiftSwift5

Instagram의 이야기에 공유해 보자!



이번에 배울 수 있는 일


  • 날짜 및 시간 취득
  • View를 UIImage로 변환
  • 인스타 스토리에 이미지를 공유합니다.
  • iPhpone에 특정 앱이 있는지 확인합니다.

  • 완성은 이런 느낌의 이미지!




    앱 측
    Instagram의 이야기






    View에 Image와 Label을 표시시켜, 그 View를 image로 변환해 Instagram의 스토리에 건네주는 처리를 하고 있습니다.

    날짜 및 시간 취득



    이번에는 표시했을 때 값이 변경되었는지 확인하기 쉽게 날짜를 표시하도록 했습니다. Label에 유저명등의 변수를 더하면 보다 인스타 감성하기 쉬운 디자인이 됩니다.

    ViewController.swift
    @IBOutlet weak var dateLable: UILabel!   //StoryboardのLabelと接続
    //------------------------------------------------------
    //super.viewDidLoad()の中に記述
    let format = DateFormatter()
    format.timeStyle = .medium
    format.dateStyle = .long
    format.locale = Locale(identifier: "ja_JP")
    let date = Date()
     dateLable.text = format.string(from: date)
    

    View를 UIImage로 변환



    Storyboard로 만든 View를 @IBOutle 을 이용하여 ViewController에 연결합시다!
    연결되면 UIView를 확장하고 다음 코드를 추가하고 변환하고 싶은 타이밍에 image = 부분을 호출해 보자.

    ViewController.swift
    @IBOutlet weak var screensShotView: UIView!   //StoryboardのViewと接続
    //------------------------------------------------------
    //UIVIewのextensionとして以下のコードを追加しておきましょう。
    //view.asImage()でいつでもViewをImageに変換することができます。
    extension UIView {
        //UIViewをUIImageに変換するコード
        func asImage() -> UIImage {
            let renderer = UIGraphicsImageRenderer(bounds: bounds)
            return renderer.image { rendererContext in
                layer.render(in: rendererContext.cgContext)
            }
        }
    }
    
    //view.asImage()でUIImageに変換できます。ボタンが押されるタイミングで呼び出すのが良いでしょう。
    let image = screensShotView.asImage()
    

    인스타 스토리에 이미지 공유



    인스타그램의 자세한 체계 일람은, 공식 문서 보다 확인해 주세요.

    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)
        }
    

    소재는 일러스트 가게의 이미지를 이용하고 있습니다.
    htps //w w. 가자. 이 m/2019/04/b㎉g포 st_34. HTML

    특정 앱의 스키마 키가 있는지 확인합니다.
    htps : // 코 m / 나가 유리코 / ms / 67c5 262f6 88cd88885

    좋은 웹페이지 즐겨찾기