gpt4 book ai didi

ios - 使用 iOS 7.1 的 UIImageView 子类中的 setter/getter 的不同行为

转载 作者:可可西里 更新时间:2023-11-01 05:00:30 26 4
gpt4 key购买 nike

自 iOS 7.1 beta 5 以来,我的小插件出现了一个奇怪的错误:link

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

我重写了 image 的 setter 和 getter :

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

self.img.image = image;

}

- (UIImage *)image{

return _img.image;

}

所以 NSLog(@"%@",self.image) 返回 _img.image,我没问题。

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

问题是 iOS 7.0 self 不显示图像,但 iOS 7.1 self 显示 _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 中没有相同的行为,那就太好了!

最佳答案

嗨试试看,您忘记了将 [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);
}
}

关于ios - 使用 iOS 7.1 的 UIImageView 子类中的 setter/getter 的不同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22399881/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com