web-dev-qa-db-ja.com

UIImageView Xcode Swiftの高さと幅をプログラムで変更する

なんらかの理由で、画像ビューの高さと幅の設定に苦労しています。高さが画面の20%だけになるように設定したい。次のようなことができるように定期的に設定することを知っています:image =(0,0,50,50)

しかし、私は高さが静的な数でないようにする必要があります。 image =(0,0、frame.height * 0.2、50)のようなもの

助言がありますか?

22
Lucas Azzopardi

Swift 3で受け入れられた回答:

let screenSize: CGRect = UIScreen.main.bounds
image.frame = CGRect(x: 0, y: 0, width: 50, height: screenSize.height * 0.2)
44
user1333394
let screenSize: CGRect = UIScreen.mainScreen().bounds
image.frame = CGRectMake(0,0, screenSize.height * 0.2, 50)
21
Aggressor

ちょっと私はすぐにそれを理解しました。何らかの理由で、私はただ頭脳のおならをしていた。

image.frame = CGRectMake(0 , 0, self.view.frame.width, self.view.frame.height * 0.2)
4
Lucas Azzopardi

自動ビューを使用する

image.heightAnchor.constraint(equalToConstant: CGFloat(8)).isActive = true
2
mamu

このコードを使用できます

var imageView = UIImageView(image: UIImage(name:"imageName"));
imageView.frame = CGrectMake(x,y imageView.frame.width*0.2,50);

または

var imageView = UIImageView(frame:CGrectMake(x,y, self.view.frame.size.width *0.2, 50)

imageViewは、メインビューのサブビューです。このように動作します

image.frame = CGRectMake(0 , 0, super.view.frame.width, super.view.frame.height * 0.2)
0
Dennis