我遇到了一個問題,其中有一個UIImageView
,它使用以下約束跨越屏幕的整個寬度。全寬視圖不包含與父代相同的框架寬度
- 對齊通往:上海華(等於:-20)
- 對齊尾隨:上海華(等於:-20)
- 頂層空間到:頂面佈置指南(等於:0)
- 看點比例:1:1
圖像呈現屏幕寬度,同時獲得縱橫比(在這種情況下爲正方形)。當我開始嘗試從圖像中創建一個圓圈時,問題隨之而來,我注意到我的UIIMageView
的幀沒有合適的值。
因爲我通過RoboVM使用Java,所以您將不得不借助以下代碼不在Objective-C中,但只需很少的努力就可以將代碼轉換爲Objective-C,因爲它非常簡單。
public class MyViewController extends UIViewController {
@IBOutlet private UIImageView myImageView;
@Override public void viewDidLoad() {
System.out.println("Image view width: " + myImageView.getFrame().getWidth());
System.out.println("Superview width: " + this.getView().getFrame().getWidth());
}
}
運行與該控制器的應用程序的結果顯示如下:
Image view width: 240.0
Superview width: 320.0
當切割圖像的幀寬度一半,並將其應用於所述CALayer#cornerRadius
屬性,圖像不會使一個完整的圓圈,但是當使用一半的寬度(這實際上是圖像的大小)時,結果是一個完美的圓。
林不知道,但你不要有給縱橫比限制。僅前導,尾隨,頂部,底部已足夠 –
@ Mr.T添加底部約束會導致圖像在不同設備分辨率之間不成比例地縮放。這已經過測試。 – Hobbyist
哦,好的,謝謝你的信息。 –