2017-01-07 7 views
0

私は、カスタムの絵文字のようなキーボードアプリケーション用のイメージを持つiMessageアプリケーションを作成しています。 iMessageストーリーボードにコンセントをセットアップし、ボタンを接続しました。私のMessageViewControllerには私のIBOuletに以下のコードがあります。私は画像のサイズを小さくしたいですが、私はこれを理解することはできません。どんな助けでも大歓迎です!スウィフト - サイズ変更イメージiMessageアプリケーション

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

答えて

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

+0

はこの打撃を与えるために行く、ありがとう...私が使用してkimoniのようなアプリを作るしようとしていますカスタム "emojis"多分私はこれを間違った方法に取り組んでいるかもしれませんが、私は正しい道にいると思います。私たちは見るでしょう。 –

+0

「MSMessage」ではなく「MSSticker」の使用を検討すると、画面のさまざまな部分にアセットを配置する際の柔軟性が増すためです。実行時にイメージアセットを取得する必要がある場合はコードでこれを作成することができますが、バンドルの一部であれば、夕方にコードを書くことなくステッカーパックを作ることができます!実行時のアプローチをとると良いチュートリアルがあります:http://willowtreeapps.com/blog/imessage-apps-part-one/ – MathewS

+0

ありがとう、私はステッカーでセットアップしましたが、ちょうど私が探していたものではありませんでした私は見た目をよりコントロールしたい。私はこれを見つけることに終わり、ペーストボードを使用する必要があるように見えますが、実際にはコードをもっと短くするだけで、デザインに集中してページをスクロールする必要があります。私は絵を絵本のように小さくすることができることを確認する必要があります。あなたがステッカーで提案したルートに行きます:-) http://stackoverflow.com/questions/31741015/add-stickers-in-custom-keyboard-extension/37019342#37019342 –

関連する問題