2011-11-18 9 views

答えて

64

画像データがあるかどうかを確認できます。

UIImage* image = [[UIImage alloc] init]; 

CGImageRef cgref = [image CGImage]; 
CIImage *cim = [image CIImage]; 

if (cim == nil && cgref == NULL) 
{ 
    NSLog(@"no underlying data"); 
} 
[image release]; 
+0

ありがとう非常に、それは完全に仕事です! – Jonathan

+0

しかし、[image CIImage]; iOS 5でのみ利用できます。4.3についてはどうですか? –

+4

していませんcimとして働いていませんnil – hii

0

自体とCGImageRefに確認を、それがヌル値はUIImageの画像が含まれていないオブジェクトを意味含まwheather .......

8

スイフト3 cgImage又はciImageの確認、

public extension UIImage { 

    public var hasContent: Bool { 
    return cgImage != nil || ciImage != nil 
    } 
} 

CGImage: If the UIImage object was initialized using a CIImage object, the value of the property is NULL.

CIImage: If the UIImage object was initialized using a CGImageRef, the value of the property is nil.

+0

あなたはswift 3のアップデートをお願い致します –

+0

@AnkitKumarGupta done – onmyway133

0

これは@Kreiriのアップデート版です。メソッドと固定ロジックエラーを入れました:

- (BOOL)containsImage:(UIImage*)image { 
    BOOL result = NO; 

    CGImageRef cgref = [image CGImage]; 
    CIImage *cim = [image CIImage]; 

    if (cim != nil || cgref != NULL) { // contains image 
     result = YES; 
    } 

    return result; 
} 

UIImageはCGImageRefまたはCIImageにのみ基づいていました。両方ともnilの場合、イメージはありません。付与方法の使用例:

if (![self containsImage:imageview.image]) { 
    [self setImageWithYourMethod]; 
} 

願っています。

関連する問題