5

从 iOS 7.1 beta 5 开始,我的小插件有一个奇怪的错误:link

我的插件是 的子类UIImageView,在这个类里面我有另一个UIImageView叫做img.

我已经重写了 setter 和 getter image

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

    self.img.image = image;

}

- (UIImage *)image{

    return _img.image;

}

所以NSLog(@"%@",self.image)回来_img.image,我没事。

NSLog(@"%@",[super image])回来(null),我没事。

问题在于 iOS 7.0self不显示图像,但 iOS 7.1self显示_img.image

在视觉上,我不想要图像self,我想要与 iOS 7.0 相同的行为。

所以我尝试另一件事来理解,如果我使用这个 setter/getter :

- (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 中没有相同的行为,那就太好了!

4

1 回答 1

-1

嗨试试看,您忘记将 [self 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);
    }  
}
于 2014-03-15T06:12:15.107 回答