ฉันพยายามที่จะวาดภาพขนาดบางที่มีขนาดคงที่ (100x100) UIImageView
โดยใช้ ฉันได้ตั้งกรอบขนาดของมุมมองภาพของฉันที่จะ 100x100 และตั้งค่าการcontentMode
UIViewContentModeScaleAspectFill
ความเข้าใจของฉันคือสิ่งนี้ควรทำให้รูปภาพถูกวาดตามขนาดที่ฉันตั้งไว้และรูปภาพจะเต็มพื้นที่ของรูปภาพและคลิปส่วนใด ๆ ของรูปภาพที่อยู่นอกขนาดที่ฉันตั้งไว้สำหรับมุมมองรูปภาพ อย่างไรก็ตามรูปภาพนั้นยังคงถูกวาดมีขนาดใหญ่กว่าหรือเล็กกว่าขนาด 100x100 ที่ฉันตั้งไว้
ถ้าผมตั้งcontentMode
ไปUIviewContentModeScaleToFill
แล้วภาพที่ถูกวาดที่ตรง 100x100 แต่มันเพี้ยนไปพอดีกับขนาดดังกล่าวนั้น ความคิดใดที่ว่าทำไมการเติมมุมมองไม่ได้ถูกตัดอย่างที่คาดไว้
นี่คือรหัสของฉัน:
_photoView = [[UIImageView alloc] initWithImage:photoImage];
_photoView.contentMode = UIViewContentModeScaleAspectFill;
[self addSubview:_photoView];
CGRect photoFrame = _photoView.frame;
photoFrame.size = CGSizeMake(100, 100);
_photoView.frame = photoFrame;
เพื่ออธิบายให้ดีขึ้นนี่คือภาพหน้าจอของสิ่งที่ฉันเห็น สี่เหลี่ยมสีเขียวคือส่วนUIView
ที่UIImageView
ฉันกำลังทำงานอยู่ ฉันได้ตั้งค่าสีพื้นหลังเป็นสีเขียวและกรอบของมุมมองเป็น 100x100 จากการทดสอบUIImageViews
จะมีขนาดถึง 50x50 อย่างที่คุณเห็นเมื่อใช้...AspectFill
ภาพขนาดไม่ถึง 50x50 และในบางกรณีก็มีการชดเชยจากที่ฉันต้องการ เมื่อใช้...ScaleToFill
จะมีการปรับขนาดอย่างถูกต้อง แต่ภาพผิดเพี้ยน