我在我的 objective-c
应用程序中使用 iCarousel
。每个旋转木马 view
都包含一个 image
。所以在
-(UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSInteger)index reusingView:(UIView *)view
我像这样设置图像
:
[carouselImage setImageWithURL:[NSURL URLWithString:myStringUrl] placeholderImage:[UIImage imageNamed:placeholderImage]];
此行应用程序崩溃。这是错误:
-[CarouselUIView setImageWithURL:placeholderImage:]: unrecognized selector sent to instance
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CarouselUIView setImageWithURL:placeholderImage:]: unrecognized selector sent to instance 0x123d10a70'
当我搜索时,我发现许多解决方案建议在build设置
中使用-ObjC
标志,但我已经有了这个标志。
编辑:附加代码
这是我的函数的全部代码:
-(UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSInteger)index reusingView:(UIView *)view {
UIImageView * carouselImage;
if (view == nil) {
NSData *tempArchiveView = [NSKeyedArchiver archivedDataWithRootObject:self.carouselItemView];
CarouselUIView * carousselView = [NSKeyedUnarchiver unarchiveObjectWithData:tempArchiveView];
view = carousselView;
}
carouselImage = (UIImageView *) [view viewWithTag:0];
[carouselImage setImageWithURL:[NSURL URLWithString: myStringUrl] placeholderImage:[UIImage imageNamed:imagePlaceholder]];
return view;
}
和 CarouselView
:
#import <UIKit/UIKit.h>
@interface CarouselUIView : UIView
@property (weak, nonatomic) IBOutlet UIImageView * carouselImage;
@end
最佳答案
从您给定的代码来看,您用于使用 imageView 初始化 View 的行有问题。
[view viewWithTag:0];
必须将标记值更改为 0 以外的值。因为所有 View 的 tag 属性默认设置为 0。
祝你编码愉快:)
关于iOS:无法在 iCarousel 中设置图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45481407/