と呼ばれるUIの作成:スウィフト:私はここに、これらのビューのいずれかを持っている機能が
let placeContainerView: UIView = {
let view = UIView()
view.backgroundColor = UIColor.whiteColor()
view.translatesAutoresizingMaskIntoConstraints = false
view.layer.cornerRadius = 7
view.layer.masksToBounds = true
return view
}()
をそして、私はそれを次のものに機能「createNewViewが()」と呼ばれるたびに作成していますよ。
let showFullPlaceContainerView = UITapGestureRecognizer(target: self, action: #selector(showFullPlaceContainerViewFunction))
placeContainerView.addGestureRecognizer(showFullPlaceContainerView)
私はplaceContainerViewのそれぞれに応答する必要があります。
私はビューが生成されるようにしたい、私はそれに特定の値を与えます。そして、関数createNewView()を呼び出すと、その隣に新しいビューが表示されます。これは、新しい値を入れた場合を除いて全く同じです。
私に知っておいてください!
次のコードは、私がセットアップplaceContainerViewたびにしたい方法を示していますが、私は彼らがplaceContainerView.topAnchorは()毎回異なるように表示する必要がある..:
は がEDITはありがとうそれが自分のクラスに保持され、それが何回作成されたのかわからない場合、それはどのように正確に機能しますか?
また、placeContainerViewにはplaceLabelとplaceImageViewが含まれているため、これらは新しいPlaceContainerViewClass内に生成する必要がありますか?
func setupPlaceContainerView() {
placeContainerView.leftAnchor.constraintEqualToAnchor(view.leftAnchor, constant: -180).active = true
placeContainerView.topAnchor.constraintEqualToAnchor(view.topAnchor, constant: 80).active = true
placeContainerView.widthAnchor.constraintEqualToConstant(227).active = true
placeContainerView.heightAnchor.constraintEqualToConstant(45).active = true
placeContainerView.addSubview(placeLabel)
placeContainerView.addSubview(placeImageLabelSeparator)
placeContainerView.addSubview(placeImageView)
placeLabel.leftAnchor.constraintEqualToAnchor(placeContainerView.leftAnchor).active = true
placeLabel.topAnchor.constraintEqualToAnchor(placeContainerView.topAnchor).active = true
placeLabel.widthAnchor.constraintEqualToConstant(180).active = true
placeLabel.heightAnchor.constraintEqualToAnchor(placeContainerView.heightAnchor).active = true
placeImageLabelSeparator.leftAnchor.constraintEqualToAnchor(placeLabel.rightAnchor).active = true
placeImageLabelSeparator.topAnchor.constraintEqualToAnchor(placeContainerView.topAnchor).active = true
placeImageLabelSeparator.widthAnchor.constraintEqualToConstant(2).active = true
placeImageLabelSeparator.heightAnchor.constraintEqualToAnchor(placeContainerView.heightAnchor).active = true
placeImageView.leftAnchor.constraintEqualToAnchor(placeImageLabelSeparator.rightAnchor).active = true
placeImageView.topAnchor.constraintEqualToAnchor(placeContainerView.topAnchor).active = true
placeImageView.widthAnchor.constraintEqualToConstant(45).active = true
placeImageView.heightAnchor.constraintEqualToAnchor(placeContainerView.heightAnchor).active = true
まず、計算されたプロパティではなくUIViewのサブクラスを作成します。次にインスタンス – Paulw11