私は最近、iOS 7にアップグレードしたiOS 6用にビルドしたアプリケーションを持っています。UIScrollView
にはいくつかのカスタムUIViews
があります。 UIViews
の中には、私はそれぞれ一つのUIImageView
を持っています。なんらかの理由で、iOS 6にUIImageView.image
を設定しても問題なく表示されますが、iOS 7では表示されません。ここでは、コードです:iOS 7のUIImageViewが表示されない
int i = 0;
for (UIImageView *imageView in myImageViewsOutletCollection)
{
imageView.image = nil;
if (imagesArray.count > i)
imageView.image = [UIImage imageWithData:[imagesArray objectAtIndex:i]];
if (imageView.image == nil)
NSLog(@"signature image with index: %i is nil", i);
else
NSLog(@"It Worked")
i++;
}
私のアプリは、ロギングです:@"It Worked"
ので、私はUIImageView.image
がnil
ではありません知っています。私は何が間違っていますか?
EDIT:
私はUIImageRenderingModeを試してみました:
UIImage *imageForView = [UIImage imageWithData:[imagesArray objectAtIndex:i]];
imageForView = [imageForView imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
imageView.image = imageForView;
はまだ動作しませんでした。しかし、Max_Power89 @言った:それはAppleデベロッパフォーラムに書かれているよう
:imageWithDataバグに レポート
を、これはバグでなければなりません。私は彼らが問題を早期に解決することを望む。
EDIT 2:私もこれを追加
:
NSData *pngData = UIImagePNGRepresentation(imageView.image);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *docs = [paths objectAtIndex:0];
NSError *writeError = nil;
[pngData writeToFile:[docs stringByAppendingFormat:@"/image.png"] options:NSDataWritingAtomic error:&writeError];
if(writeError!=nil)
{
NSLog(@"%@: Error saving image: %@", [self class], [writeError localizedDescription]);
}
画像は、アプリケーションのディレクトリに保存されていたので、画像がnilでないことを、私は確かに知っています。
ログの画像ビューのサイズ – Wain
@Wain - フレームのNSLogは '0,0,320,120'でした。そこに問題はありません –
私たちにはこれに対する解決策がありますか?私は同じ問題を経験しています。これは 'UITableView'にもなります:( – dzep