質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

6560閲覧

ソースコード(.swift )から、assets.xcassetsの画像を取り込みたい

amazon_106

総合スコア50

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2019/01/17 12:19

##メインストーリーボードではなく、.swiftのファイルから画像を読み込みたいです。
「メインストーリーボードからやらんかい。クソ素人が!」的な回答では解決しません。Udemyのクセが強い先生の動画に沿ってやっているからです。僕もできることならそうしたいです。

import UIKit class LoginVC: UIViewController { let logoContainerView: UIView = { let view = UIView()    ここにです!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! let logoImageView = UIImageView(image: ) return view }() let emailTextField: UITextField = { let tf = UITextField() tf.placeholder = "Email" tf.backgroundColor = UIColor(white: 0, alpha: 0.03) tf.borderStyle = .roundedRect tf.font = UIFont.systemFont(ofSize: 14) return tf }() let passwordTextField: UITextField = { let tf = UITextField() tf.placeholder = "password" tf.backgroundColor = UIColor(white: 0, alpha: 0.03) tf.borderStyle = .roundedRect tf.font = UIFont.systemFont(ofSize: 14) return tf }() let loginButtom: UIButton = { let buttom = UIButton(type: .system) buttom.setTitle("Login", for: .normal) buttom.setTitleColor(.white, for: .normal) buttom.backgroundColor = UIColor(red: 149/255, green: 204/255, blue: 244/255, alpha: 1) buttom.layer.cornerRadius = 5 return buttom }() override func viewDidLoad() { super.viewDidLoad() view.backgroundColor = .white configureViewComponets() } func configureViewComponets(){ let stackView = UIStackView(arrangedSubviews: [emailTextField, passwordTextField, loginButtom]) stackView.axis = .vertical stackView.spacing = 10 stackView.distribution = .fillEqually view.addSubview(stackView) stackView.anchor(top: view.topAnchor, left: view.leftAnchor, bottom: nil, right: view.rightAnchor, paddingTop: 50, paddingLeft: 40, paddingBottom: 0, paddingRight: 40, width: 0, height: 140) } }

「いや、そこにassets.xcassetsに置いてる画像ファイルデータを入れて、viewDidLoadに〜」と思っているかもしれませんが、問題は、(image: )にassets.xcassetsに置いてあるはずの画像データが入らないのです!!Why! American teacher!?

わかりやすい日本語に直しますと、

イメージ説明

上のInstagram_logo_whiteを入れたいんですが、
イメージ説明
予想に出ないんじゃ〜。

先生は、こんな感じ
イメージ説明
予想に出てるんじゃ〜。なんでじゃ〜。

ちなみにコピペしても
イメージ説明

Use of unresolved identifier 'Instagram_logo_white'

これでは解決しません。的なエラーメッセが届きます。
ヒントが少ない〜。

僕の階層です。
イメージ説明

よろしくおねがいしまぁぁぁすっ!!(サマーウォーズ風)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

僕と同じエラーの場合、基本的にimage literalかShift+Command+Mを試してください。それでも無理だった場合、assets.xcassetsではなく、メインファイル直下に画像を入れてから以下を参考にしてください。 

// UIImage インスタンスの生成 // 画像はAssetsに入れてない場合はjpgなので拡張子を入れます。pngだったら、jpgを変えてください。 let image1:UIImage = UIImage(named:"wafuku@2x.jpg")! // UIImageView 初期化 let imageView = UIImageView(image:image1)

これでいけました。
また、assets.xcassetsに入れたパターンで実装できたら、共有しますね〜。

投稿2019/01/17 18:04

編集2019/01/17 18:06
amazon_106

総合スコア50

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ただ単に" "で囲む必要があるのではないですか?
UIImageViewの使い方検索しましたか?

一つ思い当たるものとしては、
もしかして、イメージリテラル?のことかもしれません。
もしその場合、Xcode 10では削除されましたって書いてありますが、、、
「Xcode IDEのコード補完機能(または自動補完)のみが中止されました。」
https://code.i-harness.com/ja-jp/q/31042e3

また、下記も参考になると思います。
https://teratail.com/questions/168178#reply-250902

いずれにしろ、全く同じコードじゃなくていいのではないですか??
実現できればいいのですし、Xcode10で削除と書かれてますし、
多少書き換えが必要になると思います。
Udemyのコースのバージョンも確認を。

投稿2019/01/17 14:40

編集2019/01/17 14:53
hameji001

総合スコア639

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

amazon_106

2019/01/17 14:44

namedは””で囲む必要がありますね。 ストーリーボードから情報しか見当たらないんですよね。 今、assets.xcassets側に原因があるんじゃないかと、思って検索かけています。
amazon_106

2019/01/17 15:01

今、サッと見ましたが、めちゃくちゃ参考になりそうです! あと、質問とは関係ないのですが、なんて検索かけたんですか? 今、なんて検索したらいいのかわからないレベルなので、検索能力UPの為に教えて欲しいです。
hameji001

2019/01/17 15:07

いや、、、お恥ずかしながら、イメージリテラルなんてついこの前まで知りませんでした。 https://teratail.com/questions/168178#reply-250902 の質問で、全く的外れな回答をして、その時に勉強させてもらった内容です。 Udemyの先生のコード補完機能のとこで、左側がM, V, Cとかじゃなくて、 画像そのものであるのを見て、もしかしたらと、閃いただけです(^_^;)
amazon_106

2019/01/17 15:39

なるほど、https://teratail.com/questions/168178#reply-250902、見ました。割と恥ずかしい展開っすね。笑 でも、コメントぐらい返さんかいって思いますけどね。質問してる側なんだから。 僕の場合、image literalは使えず、Shift+Command+Mでメディアライブラリは出てきたのですが、追加できませんでした。 で、形式を見てみると、PNGでした。 PNGで追加できる方法を調べます。
amazon_106

2019/01/17 17:58

おかげさまで、解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問