2 つの画像を 1 つのスタック ビューに配置しています。これら 2 つの正方形の画像をプログラムで円に変換したいので、次のコードを使用します。
class ProfileViewController: UIViewController {
@IBOutlet weak var image1: UIImageView!
@IBOutlet weak var image2: UIImageView!
override viewDidLoad(){
// Convert image one into circle
self.image1.layer.cornerRadius = self.image1.frame.height/2
self.image1.clipsToBounds = true
// Convert image two into circle
self.image2.layer.cornerRadius = self.image2.frame.height/2
self.image2.clipsToBounds = true
// Print the frames of these two images
print(self.image1.frame)
print(self.image2.frame)
}
}
例では、フレームの x と y の値は重要ではありませんが、奇妙なことに、インスペクター タブの値にもかかわらず、幅と高さの値は両方ともゼロになります。
2 つの画像のフレームを印刷するボタンを画面に追加すると、予想される幅と高さの値が得られます。viewDidLoad()
したがって、スタック ビューは、メソッドの起動後にオブジェクトのサイズを決定すると想定します。この状況で、2 つの画像を丸くするために実際のフレームの寸法を取得する最良の方法は何でしょうか? または、フレーム以外の値を使用する方が良い解決策でしょうか?