2017-02-23 8 views
1

imageViewの下部にラベルをサブビューとして追加しようとしていますが、画像の高さや幅が変わるとラベルは反応しません。 私はダイナミックラベルを作りたいと思います。imageViewの下部にラベルをプログラムで追加するにはどうすればよいですか?

This is what i did until now

+0

あなたはautolayoutを使用していますか? –

+0

@ Anbu.Karthikいいえ私はautolayoutを使用していません。私はラベルにフレームを追加することでプログラムでこれをやろうとしています。 –

答えて

0

ように、このコードは、底部と左右

に制約を設定された画像にラベルを追加する画像に

let picImage:UIImageView = { 
    let imageView = UIImageView() 
    let image = UIImage(named: "test") 
    imageView.image = image 
    imageView.contentMode = .scaleAspectFill 
    imageView.translatesAutoresizingMaskIntoConstraints = false 
    return imageView 
    }() 
let durationLabel: UILabel = { 
    let label = UILabel() 
    label.text = "1:20:12" 
    label.font = UIFont(name:"HelveticaNeue-Bold", size: 15.0) 
    label.textAlignment = NSTextAlignment.right 
    label.numberOfLines = 1 
    label.textColor = UIColor.white 
    label.translatesAutoresizingMaskIntoConstraints = false 
    return label 
}() 
func setupView(){ 
// I will skip part of image setup 
self.picImage.addSubview(durationLabel) 
    durationLabel.bottomAnchor.constraint(equalTo: picImage.bottomAnchor).isActive = true 
    durationLabel.leftAnchor.constraint(equalTo: picImage.leftAnchor, constant: 5).isActive = true 
     durationLabel.rightAnchor.constraint(equalTo: picImage.rightAnchor, constant: -5).isActive = true 
} 

にラベルを追加する例を追加

https://i.stack.imgur.com/wGIZy.png

+0

ありがとう、それは動作します。 –

1

ここ

var lbl1 = UILabel(frame: CGRect(x: yourimageview.frame.origin.x, y: yourimageview.frame.origin.y + yourimageview.frame.size.height + 5, width: yourimageview.frame.size.width, height: asyourWish)) 


lbl1.textColor = UIColor.black 
lbl1.frame = position 
lbl1.backgroundColor = UIColor.clear 
lbl1.textColor = UIColor.white 

lbl1.text = "TEST" 
self.view.addSubview(lbl1) 
+0

あなたはこれに関連するヘルプが必要でしょう –

関連する問題