我有一个包含UIImageView的应用程序。它在iOS 8上工作,但没有在iOS 7上显示图像。我搜索了它,他们总是说“这是自动布局问题”。好吧,我删除了我的视图上的所有约束。但仍然没有显示图像。
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:sf._foto];
[Img setImage:[UIImage imageNamed:savedImagePath]];
Img.frame = CGRectMake(0,0,screenWidth,screenHeight);
答案 0 :(得分:0)
如果您发现它是自动布局问题,那么您需要从xib中删除该视图并以编程方式添加它。我有类似的问题,只是以编程方式创建它,即使这意味着在您的视图中创建另一个xib并加载它并将其添加到您的视图addSubview:
。我想稍后修改的每个视图,但不想处理修改约束,我会以编程方式添加。
或者,您可以添加约束,然后在代码中添加出口,以便在您想要更改内容时进行修改。
希望这有帮助。
答案 1 :(得分:0)
不知道这是否有帮助,但这是我保存的方式,然后通过文档目录
访问图像- (void)savePaystubToFile: (UIImage *)image {
if (image != nil)
{
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * documentsDirectory = [paths objectAtIndex:0];
NSString * path = [documentsDirectory stringByAppendingPathComponent: @"example.png" ];
NSData * data = UIImagePNGRepresentation(image);
[data writeToFile:path atomically:YES];
}
}
- (UIImage*)loadPaystub {
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * documentsDirectory = [paths objectAtIndex:0];
NSString * path = [documentsDirectory stringByAppendingPathComponent: @"example.png" ];
// If nothing is stored at that location then return nil
UIImage * image = [UIImage imageWithContentsOfFile:path] ? [UIImage imageWithContentsOfFile:path] : nil;
return image;
}
这里的主要区别似乎是我使用imageWithContentsOfFile函数和一步一步的基本设置过程。
我不知道这是否是你正在努力解决的问题,但这是分离存储和检索图像的更好方法。如果这是正常工作,那么你知道问题将在访问框架。