2014-10-27 14 views

Trả lời

12

Có lẽ bạn đang tải UIImage của bạn với phương pháp này:

UIImage *image = [UIImage imageNamed:@"image"]; 

này không hoạt động trong xây dựng giao diện vì imageNamed: Phương pháp sử dụng gói chính nhưng IB nguồn tải theo cách khác nhau. Hãy thử một cái gì đó như thế này:

- (void)prepareForInterfaceBuilder 
{ 
    UIImage *image = [UIImage imageNamed:@"image" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil]; 
    [self setImage:image forState:UIControlStateNormal]; 
} 
1

Sẽ cung cấp câu trả lời nhanh cho bất kỳ ai gặp phải vấn đề này như tôi đã làm.

Vấn đề là đường dẫn đến hình ảnh khác nhau trong Trình tạo giao diện so với trong ứng dụng của bạn.

let bundle = Bundle(for: self.classForCoder) 
image = UIImage(named: "your_image.png", in: bundle, compatibleWith: self.traitCollection)! 
self.setImage(image, for: .normal) 
Các vấn đề liên quan