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

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

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

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

解決済

1回答

1275閲覧

swiftでTableViewCellを使った時、イメージが表示されない

surf

総合スコア17

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

0グッド

0クリップ

投稿2016/09/01 13:45

イメージとラベルを表示したい。
SWIFTでTableViewCellを利用して
イメージとラベルを縦に表示したいと思い、
CustomTableViewCellを使っています。
またページを遷移させるためTabで画面切り替えができるようにしています。
1のページではイメージ等が表示されるのですが、
2のページではイメージ等が表示されず、真っ白になります。
CustomTableViewCellは1と2用に2つ作り
違いはCustomTableView1と名前だけです。

###発生している問題・エラーメッセージ
エラーメッセージが表示されない。

エラーメッセージ

###該当のソースコード

<ViewControllerのコードです。> import UIKit class SecondViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { let imageNames = ["futako.jpg", "fran.jpg", "fran.jpg", "yokado.jpg", "fran.jpg", "yokado.jpg"] let imageTitles = ["二子玉川", "フランフラン", "フランフラン", "ヨーカドー", "フランフラン", "ヨーカドー"] let imageDescriptions = [ "二子玉川公園を散歩", "フランフランにて", "フランフランにて", "ヨーカドーで・・・", "フランフランにて", "ヨーカドーで・・・" ] override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return imageNames.count } func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("MyCell1") as! CustomTableViewCell1 cell.setCell(imageNames[indexPath.row], titleText: imageTitles[indexPath.row], descriptionText: imageDescriptions[indexPath.row]) return cell } } <CustomViewControllerCell1のコードです> import UIKit class CustomTableViewCell1: UITableViewCell { @IBOutlet weak var myImageView: UIImageView! @IBOutlet weak var myTitleLabel: UILabel! @IBOutlet weak var myDescriptionLabel: UILabel! override func awakeFromNib() { super.awakeFromNib() // Initialization code } override func setSelected(selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) // Configure the view for the selected state } func setCell(imageName: String, titleText: String, descriptionText: String) { myImageView.image = UIImage(named: imageName) myTitleLabel.text = titleText myDescriptionLabel.text = descriptionText } }

###試したこと
イメージの大きさや場所を変えてみました。

###補足情報(言語/FW/ツール等のバージョンなど)

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

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

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

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

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

guest

回答1

0

ベストアンサー

手元で上記のコードを実行しましたが問題なく動きました、とりあえず原因を特定するために以下の様にしてみてください。

print(myImageView.image)nilの場合は画像名があっていない可能性があります。

myImageViewの背景色を赤くしているので画像が設定されていなくても赤く表示されるはずです、出ない場合はmyImageViewが潰れていると思われます。

swift

1func setCell(imageName: String, titleText: String, descriptionText: String) { 2 myImageView.image = UIImage(named: imageName) 3 myImageView.backgroundColor = UIColor.redColor() 4 print(myImageView.image) 5 myTitleLabel.text = titleText 6 myDescriptionLabel.text = descriptionText 7}

投稿2016/09/01 14:11

_Kentarou

総合スコア8490

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

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

surf

2016/09/02 10:56

変更したら以下のものが表示されました。 Optional(<UIImage: 0x7fe7406df9e0>, {476, 471}) Optional(<UIImage: 0x7fe7406e2220>, {3264, 2448}) Optional(<UIImage: 0x7fe7406e8ef0>, {3264, 2448}) Optional(<UIImage: 0x7fe74071f6c0>, {299, 224}) Optional(<UIImage: 0x7fe7406ef320>, {3264, 2448}) Optional(<UIImage: 0x7fe7407209b0>, {299, 224}) これで原因が特定できますか? よろしくお願い致します。
_Kentarou

2016/09/02 12:20

それでは画像はちゃんと取得できていることしか分かりません。 UIImageView自体は表示されていますか? 画像を設定しない時に赤い背景色は表示されますか?
surf

2016/09/03 10:31

tabbarのFirst Viewの方は何も問題なくイメージもラベルも表示され、画面を設定していない時に背景は赤くなりますが、Second Viewの方は相変わらず何も表示されず、画面を設定していない場合も真っ白なままです。ただ、イメージを増やした時、その数は認識しているようで、セルの数も増えます。 これで、伝わりますか?
surf

2016/09/05 10:32

実機で実行し、一度横画面にしたあと縦画面に戻すとイメージ等が表示されました。 不思議です・・・。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問