が、私はこのような何かをしようとしています:ボタンクリックでテーブルセルにImageViewを追加するにはどうすればよいですか?
ユーザーがクリックしたは、「ページの追加、」新しいグループは、その下に表示されます。今、私はこれを達成するためにTable Viewセルを使用することに決めました。さまざまなチュートリアルに従って、同様のQを探していた後で、私はUILabelでボタンをクリックしてセルを追加することができ、セルの高さをコンテンツに応じて動的にすることができましたが、今はImageViewsとボタンを追加する方法を解明しようとしています細胞。
私はカスタムセルクラス作成しました:私の問題は、私はImageViewのはということである場所を示すボックスを取得しようとしていますということです
class TakePhotosVC: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
tableView.register(PageCell.self, forCellReuseIdentifier: "cellID")
}
// return the actual view for the cell
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let pagecell = tableView.dequeueReusableCell(withIdentifier: "cellID", for: indexPath) as! PageCell
// set more stuff here
}
... // more code
}
:私のTableViewControllerで
class PageCell : UITableViewCell {
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
self.selectionStyle = UITableViewCellSelectionStyle.none
setupViews()
}
...
... // other random code here
let imgView : UIImageView = {
let imgview = UIImageView()
imgview.frame = CGRect(x: 100, y: 150, width: 150, height: 140)
imgview.tintColor = UIColor(red: 0.73, green: 0.2, blue: 0.3, alpha: 1.0)
imgview.translatesAutoresizingMaskIntoConstraints = false
return imgview
}()
func setupViews() {
addSubview(pageLabel) // the label that I got working
addSubview(imgView) // can't get this working
...
// constraint info here
}
}
とバックをユーザーは画像をクリックして読み込むことができます。私はそれを行う方法がわかりませんし、関連するボタンもすべて入れてください(ゴミ箱、Xなど)
ご協力いただければ幸いです。
EDIT
さて、私はthisチュートリアルに従うことをしようとしていたと私はかなりそれを動作させることはできません。私のプロトタイプのセルでは、私はこれを参照してください。
をしかし、結果はこれです:私はそれを見ることができるようにUIImageView
がバックグラウンドを持って作られた
。 UIImageView
には2つの制約があります:幅= 240、高さ= 128、幅= 240、高さ= 21の2つの制約:Page Label
2つの質問:正しく配置されているのはなぜですかストーリーボードに置かれますか?そして、要素を収容するためにセルの高さが動的にサイズ変更されないのはなぜですか?
TakePhotosVC
のviewDidLoad
メソッドにこれらの2行がありますが、何もしないようです。
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 200
関連性がある場合は、シミュレータを実行するとこの警告が表示されます。一度だけ警告
:制約曖昧 ケースを検出は、テーブルビューのセルのコンテンツビューのためのゼロの高さを示唆しています。我々は を意図的に崩壊させ、代わりに標準の高さ を使用しています。 2
EDITは、私はそれが動作するようになりました。私の後でこれを読んでいる貧しい人々のためには、Constraintsウィンドウエディタでピンクの点線をクリックしてから、「Add X Constraints」をクリックしてImageViewを中央に置き換えなければなりません。
これは私がやりたいことです(ImageViewの上にボタンを追加する)。今のところ、私はImageViewを表示しようとしています。私は国境を追加するためのあなたの提案を試みます。 – noblerare
イメージセットがない場合、UIImageViewは視覚的に「表示」されません。背景色を赤や青のように設定することができ、画像がないときは視覚的に見ることができます。 –