2014-03-14 63 views
5

由於iOS的7.1測試版5的setter /吸氣型動物的行爲,我有一個奇怪的錯誤與我的小插件:link用的UIImageView的子類,與iOS 7.1

我的插件是UIImageView一個子類,這個類裏面我有另一個UIImageViewimg

我改寫image setter和getter:

- (void)setImage:(UIImage *)image{ 

    self.img.image = image; 

} 

- (UIImage *)image{ 

    return _img.image; 

} 

所以NSLog(@"%@",self.image)回報_img.image,我確定。

NSLog(@"%@",[super image]) return (null),我沒事。

問題是與iOS 7.0 self不顯示圖像,但與iOS 7.1 self顯示_img.image

從視覺上來說,我不想要self的圖像,我想要與iOS 7.0相同的行爲。

所以我嘗試了另一件事明白,如果我使用此setter /吸氣:

- (void)setImage:(UIImage *)image{ 

    [super setImage:[UIImage imageNamed:@"becomeapanda_tumblr_com_portrait"]]; 

} 

- (UIImage *)image{ 

    return [UIImage imageNamed:@"becomeapanda_tumblr_com"]; 

} 

與iOS 7.0,self顯示此圖像 「becomeapanda_tumblr_com_portrait」,但與iOS 7.1 self顯示此圖像 「becomeapanda_tumblr_com」 。

如果我可以幫助理解爲什麼使用iOS 7.1我的插件沒有相同的行爲,這可能會很好!

+0

聽起來好像內部實現直接在iOS 7.0或現在iOS7.1它使用引用的圖像伊娃財產獲得者。 –

+0

是的,我可以和你在一起,但這是一個巨大的修改。我已經閱讀了iOS 7.1 Apple的文檔,但沒有任何關於此的內容。 – VivienCormier

+0

Apple沒有記錄他們的內部實現。 –

回答

-1

嗨試試吧,你忘了[自animaticToScaleAspectFit]投入你的方法,

- (void)animateToScaleAspectFitToFrame:(CGRect)frame WithDuration:(float)duration afterDelay:(float)delay{ 

    if (![self uiimageIsEmpty]) { 
     [self initToScaleAspectFitToFrame:frame]; 

     [UIView animateWithDuration:duration delay:delay options:UIViewAnimationOptionAllowUserInteraction 
         animations:^{ 
          [self animaticToScaleAspectFit]; 
         } completion:nil]; 
    }else{ 
     [self animaticToScaleAspectFit]; 
     NSLog(@"ERROR, UIImageView %@ don't have UIImage",self); 
    } 
}