2016-03-27 14 views
1

Xcode 7では、資産フォルダのアイコンを通常のプロトタイプのtableviewセルのアイコンスロットに表示しようとしています。xcode 7.3プロトタイプテーブルビューセルのassetsフォルダからのリファレンスアイコン

私のコードはコンパイルされ、テーブル内のすべての適切な行のテキストタイトルが表示されますが、プロトタイプテーブルセルの属性インスペクタに入力した(おそらくばかげて)アイコンが使用されます。

デフォルトでは、スタイル=基本表のセルには、ストーリーボードのタイトルの左側にアイコンがありません。しかし、image = MyAssetsIconNameのassetsフォルダからアイコンイメージの名前を追加すると、UIビルダは自動的にUIImageViewをテーブル行セルの左端に追加します。もちろん、すべての行には選択したイメージが表示されます。私のアプリが現在何をしているのですか?

ただし、各行のアイコン画像を変更して、どの行の画像も表示するテキスト行と一致させたいと思います。だから私はそれが作成された各行のセルに資産フォルダから新しい画像を割り当てようとしました。私は、テキストタイトルをセルに割り当てた直後に課題を行った。

ここで私のコードは正常に動作しますが、必要な画像は表示されません。テーブルビューコントローラで

class TsbReportsCell: UITableViewCell { 

@IBOutlet weak var Title: UILabel! 
@IBOutlet weak var Detail: UILabel! 
@IBOutlet weak var Icon: UIImageView! 
... 
} 

In the table view controller class: 

// define datasources 
var reportnames = [String]() 
var reportimages = [String]() 

override func viewDidLoad() { 
    super.viewDidLoad() 

    reportnames = ["Balance Report", 
    "Routine Report", 
    "Low Quality Report"] 

    reportimages = ["enter.png", 
    "exterior.png", 
    "export.png"] 
} 

override func tableView(tableView:.... { 
    // all this code works fine 
    let cell = tableView.dequeueReusableCellWithIdentifier... 
    let row = indexPath.row 
    cell.Title.text = reportnames[row] 

    // here are the lines that seem to have no effect at all 
    let rowimage = UIImage(named: reportimages[row]) 
    cell.Icon = UIImageView(image: rowimage) 

    return cell 
} 

私が間違ってやっている任意のアイデア?私はUIビルダーに私のためにimageviewプレースホルダーを追加させるために、テーブルセル行の属性にイメージを指定しました。しかし、私はそれのためのアウトレットを作成することはできますが、私はその画像をオーバーライドすることは許されません。

これはとても簡単な問題だと思われますが、少なくとも20の投稿、ネット、ドキュメントを検索しましたが、まだ何も見つかりませんでした。ありがとう

答えて

1

非常に簡単です。あなたは言っている:

cell.Icon = UIImageView(image: rowimage) 

しかし、それはインターフェースにこの画像ビューを入れていません!単にセルのプロパティに割り当てます。

代わりに、セルに画像ビューを配置し、セルのIconプロパティのコンセントをその画像ビューにフックする必要があります。その結果、cell.Iconは、の画像ビューとなります。今あなたは言う

cell.Icon.image = rowimage 
-1

男、あなたは質問に答えるのが速いですか?私はそれを感謝する唯一の人ではないと確信しています。

このサイトでまともな質問を書くのに30分かかり、他のことを試してみるのは面白いです。私は自分の試行でseg faultをとって、エラーメッセージでぶつかっていました。それらから、私はImageViewが "image"フィールド(またはそのようなもの)を持つ構造体であるという考えを得たので、何が起こるかを見るためにいくつかのUIImageView x UIImage十字形を試しました。

確かに、イメージにImageViewを割り当てようとしていました(私はまだ間違っていると思います)。私のために働いたコードラインは次のとおりです。

cell.Icon.image = UIImage(named: reportimages[row]) 

ここで画像に画像を割り当てていますが、正しく動作しています。 AND ...それは正しいはずです。なぜなら、それはMattのものと同じコードなのですから!! :-)

関連する問題