0

カスタム絵文字のようなキーボード アプリの画像を使用して iMessage アプリを作成しています。iMessage ストーリー ボードにアウトレットをセットアップし、ボタンを接続しました。私の MessageViewController では、IBOUlet に以下のコードがあります。画像のサイズを小さくしたいのですが、これを理解できないようです。どんな助けでも大歓迎です!

@IBAction func button(_ sender: Any) { 
    label.text = "button pressed"
    let layout = MSMessageTemplateLayout()
    layout.image = UIImage(named: "270a.png")
    let message = MSMessage()
    message.layout = layout
    activeConversation?.insert(message, completionHandler: nil) 
}
4

1 に答える 1

0

メッセージ テンプレートに画像を追加する場合、幅と高さを要求できますが、画像は (縦横比を考慮して) 最適と思われるサイズに拡大または縮小されます。

持っている画像リソースが必要なサイズでない場合は、メモリ内に新しい画像を作成することを試みることができますが、MSMessageTemplateLayout適切と思われるようにこれを変更します。

let original = UIImage(named: "background")

// use CGContext to create new image in memory
// 10 x 10 is super small, so messages app will scale this up
let image = CGSize(width: 10, height: 10).image { context, frame in

    original?.draw(in: frame, blendMode: .luminosity, alpha: 1)
}

let message = MSMessage()
let layout = MSMessageTemplateLayout()

layout.image = image
message.layout = layout

self.activeConversation?.insert(message, completionHandler: nil)

この拡張機能を使用して、CGContext の操作を少し簡単にするのが好きです: https://gist.github.com/mathewsanders/94ed8212587d72684291483905132790

于 2017-01-07T02:22:24.843 に答える