2012-02-25 22 views
5

tôi đã đối phó với vấn đề này bằng cách làm việc xung quanh nó trong một thời gian khá lâu, nhưng tôi thực sự muốn biết cách chính xác năng xử lý tình huống:UIImages tạo từ NSData không tôn vinh UIViewContentMode

Nếu tôi nhận được một hình ảnh như NSData từ CoreData như vậy:

NSData *myImageData = myEntity.Image; 
cell.imageView.image = [UIImage imageWithData:myImageData]; 
[cell.imageView setContentMode:UIViewContentModeScaleAspectFit]; 

Nếu hình ảnh lớn hơn CGRect của UIImageView, hình ảnh không hạn chế bản thân để CGRect của UIImageView.

Những gì tôi đang làm để làm việc xung quanh vấn đề sử dụng mã số đó là một cái gì đó như:

CGSize size = CGSizeMake(98, 98); 
UIGraphicsBeginImageContext(size); 
[image drawInRect:CGRectMake(0, 0, size.width, size.height)]; 
UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

cell.imageView.image = scaledImage; 

Những công trình, nhưng tôi chắc chắn sẽ giống như ai đó cho tôi biết những gì tôi đang làm sai với cách tiếp cận ContentMode vì nó được cho là hoạt động.

Cảm ơn bạn đã dành thời gian đọc câu hỏi của mình.

+0

Không chắc chắn liệu điều này có ảnh hưởng đến kịch bản hay không, nhưng tôi đang cố thực hiện điều này từ bên trong một UITableViewCell –

+0

Bạn có quản lý để giải quyết nó không? –

Trả lời

0

Bạn cần gọi số [cell.imageView setNeedsDisplay] sau khi bạn đặt chế độ nội dung hoặc di chuyển cuộc gọi setContentMode đến trước khi bạn đặt giá trị cell.imageView.image.

+1

Đã thử cả hai ... không may mắn. –

+1

Sau đó, tôi nghi ngờ có nhiều điều xảy ra với mã của bạn hơn là bạn đã đăng, nghĩa là, nó là một vấn đề rộng lớn hơn. Bạn có thể thử đặt thêm mã. – kamprath

+0

Tôi đánh giá cao phản hồi. Tôi đã viết một ví dụ độc lập để cố gắng tạo lại vấn đề. Tôi thấy rằng vấn đề có thể liên quan đến chính hình ảnh đó. Tôi vẫn đang thực hiện một số công việc để tái tạo vấn đề, nhưng dường như hình ảnh đó hoạt động trong một số trường hợp chứ không phải trong các trường hợp khác. –

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