2016-09-21 7 views
31

Xcode 8では、入力中に画像が自動完成しています。Xcode 8画像の完成

質問:なぜですか?

私はUIImageを推奨の結果で初期化しようとしましたが、動作しません。

Inside UIImage Outside UIImage

誰もがそれを使用する方法を知っていますか?

+0

私はこれが表示される遊び場でのみ動作すると思います。少なくともそれはそれがどのように見えるかです。 – NickDK

+2

さらに詳しい情報を提供する必要があります。おそらく周囲のコードとXcodeのバージョンを共有する必要があります。遊び場だけでなく、イメージリテラルも私にとってうまくいきます。 –

+0

これは私がXcodeで遭遇した最も悪化している機能です。それは、「ここにタイムセーバーが... PSYCH!」のようなものです。 – Adrian

答えて

45

Xcode 8は、あなたが資産カタログにある画像を自動的に認識し、UIImageイニシャライザの中に提案として提示します。

だから、基本的にはあなたが何をする必要があるか(あなたがあなたの質問に行ったように、それを乱すthat's何か他のものがなければならない)だけで以下の通りです:

let i = voiture // image name 

そしてちょうどiときに使用しますあなたは画像を設定したい。

フードの下では、次のようなコードが作成されています:#imageLiteral(resourceName: "voiture.png")。しかし、インラインエディタでは、画像のファイル名が表示されます。 #imageLiteral構文はSwift 3以降でのみ認識されます。

Hereは、私がこれを行うとhereビデオリンクは、私が作成したサンプルプロジェクトへのリンクである証明です。

注:instellisenseの提案をクリックすると、コード内のイメージのサムネイルとイメージ名が表示されます。

更新
この機能は、私は、この機能を使用しているXcodeのバージョン9.0ベータ6(9M214v) enter image description here

+0

2番目のスクリーンショットを見ると、私はコンパイラの問題があり、ビルドできません。 – CZ54

+2

答えに書いたように、それを邪魔している何かがあります。あなたがアップロードしたビデオを、私がやったのと同じように見ましたか? [Here](https://drive.google.com/open?id=0B2TR9xoKqvZNeFNpNHBJOXFSbm8)は、作成したプロジェクトへのリンクです。ダウンロードして実行してみてください。 –

+2

あなたのサンプルと私のアプリケーションの間の唯一の違いは、あなたがSwift 3にいるということです。これはそれだと思います – CZ54

10

イメージリテラルは既にUIImageです。イメージリテラルを初期化するためにUIImageに渡す必要はありません。

+2

どちらも動作しません。私の更新を見てください – CZ54

4

に残っています。基本的に「ic」で始まる画像がある場合は、let i =と入力し、続いてicと入力します。この時点で、Xcode 8は画像のドロップダウンを表示し、次にリストから正しい画像を選択します。私は実際にUIImage(と入力することを心配したことはありません。イメージのファイル名を使用することを除けば、コードの自動完成と同じように動作します。

場合によっては、コンパイルに失敗する原因となる他の問題があります。

10

「正式な」ソースが見つかりませんでしたが、私の個人的なテストから、Swift 2.3プロジェクトとSwift 3.0プロジェクトの両方でオートコンプリートが機能する一方、イメージリテラルはSwift 3プロジェクト。

スウィフト3プレイグラウンドで試してみると、うまくいきます。

enter image description here

+3

さて、Swift 2.3プロジェクトでエラーが発生していることを確認してください。 – ColdLogic

関連する問題