2012-09-15 37 views
11

Tôi đang tạo Bộ dựng giao diện sử dụng UIImageView. Kích thước khung hình của nó là (320,67). Tôi muốn hiển thị hình ảnh trên imageView. Tôi nhận được hình ảnh từ web. Vấn đề là hình ảnh nhận được từ web được kéo dài để hiển thị trên ImageView ... Ở đây mã của tôiHình ảnh không vừa với khung của UIImageView

NSData *imageData=[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.isco.com/webproductimages/appBnr/bnr1.jpg"]]; 
imageView.image = [UIImage imageWithData:imageData]; 

Can ai tel tôi rằng làm thế nào để hiển thị hình ảnh phù hợp để hiển thị trên IMAGExem ????

Trả lời

29

Hoặc sử dụng

imageView.contentMode = UIViewContentModeScaleAspectFill; 

hoặc

imageView.contentMode = UIViewContentModeScaleAspectFit; 

Người đầu tiên sẽ điền vào khung, có thể cắt đứt một phần của hình ảnh của bạn. Hình thứ hai sẽ hiển thị toàn bộ hình ảnh, có thể để lại các khu vực của khung mở.

+2

Swift3 giờ là imageView.contentMode = .scaleAspectFit hoặc .scaleAspectFill – HFR1994

0

Hãy thử mã này.

imView.contentMode = UIViewContentModeScaleAspectFit; 
4

Đối Swift:

imageView.contentMode = UIViewContentMode.ScaleAspectFit 

Đối với Objective-C:

imageView.contentMode = UIViewContentModeScaleAspectFit 

tùy chọn ScaleAspectFit được sử dụng để mở rộng nội dung để phù hợp với kích thước của xem bằng cách duy trì tỷ lệ khung hình. Mọi khu vực còn lại của giới hạn của chế độ xem đều minh bạch.

Screenshot

Tham khảo Apple docs để biết chi tiết.

1

Tôi đã thay đổi kích thước hình ảnh sau khi hình ảnh được chia tỷ lệ theo tỷ lệ khung hình.

let widthRatio = ImageView.bounds.size.width/(captureImageView.image?.size.width)! 
let heightRatio = ImageView.bounds.size.height/(captureImageView.image?.size.height)! 
let scale = min(widthRatio, heightRatio) 
let imageWidth = scale * (ImageView.image?.size.width)! 
let imageHeight = scale * (ImageView.image?.size.height)! 
ImageView.frame = CGRect(x: 0, y: 0, width: imageWidth, height: imageHeight) 
Các vấn đề liên quan