2012-09-13 30 views
7

Tôi đã tạo UIImageView bằng Storyboard bên trong UIViewController.Chia tỷ lệ UIImageView để vừa với chiều rộng màn hình

Tôi đang cố gắng để rescale chiều rộng của hình ảnh để phù hợp với chiều rộng màn hình và rescale chiều cao tương ứng:

[fImage setImage:[UIImage imageNamed: @"f2345.jpeg"]]; 
[fImage sizeToFit]; 
fImage.contentMode = UIViewContentModeScaleAspectFit; 
CGRect frame = filmImage.frame; 
frame.size.width = [[UIScreen mainScreen] bounds].size.width; 
// Alternative way to do the similar thing - gives the same result in my case 
// frame.size.width = [[UIScreen mainScreen] applicationFrame].size.width; 
fImage.frame = frame; 

Sau đó nó cho thấy một hình ảnh được thu nhỏ lại nhưng nó phù hợp với một số khu vực khác và có một khoảng trắng aruond hình ảnh của tôi.

Trả lời

12

Hãy thử sử dụng mã này:

float imgFactor = frame.size.height/frame.size.width; 
frame.size.width = [[UIScreen mainScreen] bounds].size.width; 
frame.size.height = frame.size.width * imgFactor; 
+0

Các công trình lớn, cảm ơn! Tôi vẫn không hiểu tại sao bạn lại cung cấp công việc trong trường hợp của tôi, bạn có thể giải thích nó không? – syntagma

+0

lý do là bạn đang xác định khung của chế độ xem của mình; làm điều này sẽ đánh bại bất kỳ sự tự động hóa nào mà bạn có thể đã đặt trong trình tạo giao diện; vì vậy, nếu bạn sửa đổi khung, sửa đổi nó tốt hơn theo những gì bạn muốn. Những gì tôi làm, là thiết lập chiều rộng thành kích thước đầy đủ, sau đó tính toán chiều cao theo cách giữ nguyên tỷ lệ. – sergio

Các vấn đề liên quan