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

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

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

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

Q&A

解決済

1回答

1680閲覧

UITableViewCellのimageViewに背景色とTextを設定したUIViewを表示したい.

mosin_nozomi

総合スコア29

Swift

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

0グッド

0クリップ

投稿2017/12/01 13:39

UITableViewCellを継承したCustomCellを作成し、cellのimageViewに画像を表示させています。

通常は画像URLを生成し、imageViewのsd_setImage()を呼び出しパラメータとしてURLを渡すことで表示できたのですが、URLによっては画像ではなくsvgが生成されるシステムであり、svgでは正常に表示できないため、別途UIViewを継承したクラスIconViewが存在するので、それを表示させたいと思っております。

IconViewにはあらかじめUILabelを持っており、UILabelにテキストを設定、UIView自体に背景色を設定したものです。

各種処理内容は以下のようになっております。

swift

1# class IconView: UIView の一部 2labelInitials?.text = "Icon" 3backgroundColor = UIColor()

swift

1 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 2 3 let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "cell") 4 5 #途中に様々な処理がありますが省いています。 6 7 #本来imageViewにはURLで画像をsetするが場合によってはUIViewを表示したい。 8 cell.contentView. = getIconView 9 return cell 10} 11 12//ここは簡潔にしています。 13func getIconView() -> UIView { 14 return IconView() 15}

UIViewをどうにかしてimageViewにsetさせることはできないでしょうか・・・?

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

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

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

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

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

guest

回答1

0

ベストアンサー

UIViewをImageに変換すれば可能ですよ。

【swift】【iOS】UIViewからUIImageを生成する

投稿2017/12/01 16:47

fromageblanc

総合スコア2724

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

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

mosin_nozomi

2017/12/02 06:01

UIGraphicsBeginImageContextWithOptionsを用いる方法は試していたのですが、表示できなかったため、別の方法を・・・と数通りの方法を試して見たのですが問題は方法ではなく、IconViewをインスタンス化する際にframeのパラメータなしでインスタンス化していたため、元のUIViewの方に問題がありました。frameを指定することで無事表示することができました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問