我在 scrollView 的子视图中添加图像,但仅限于某个自定义类AsyncImageView
。这需要一些时间,因为有很多子视图并且应用程序已经失去了平滑滚动。
NSArray *subviewsArray = [[NSArray alloc] initWithArray:[scrollView subviews]];
for (int j = 0; j < [subviewsArray count]; j++) {
for (AsyncImageView *checkView in [[subviewsArray objectAtIndex:j] subviews]) {
if ([checkView isKindOfClass:[AsyncImageView class]]) {
[[AsyncImageLoader sharedLoader] cancelLoadingImagesForTarget:checkView];
NSString* urlTextEscaped = [[imageInfo objectAtIndex:0] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *URL = [NSURL URLWithString:urlTextEscaped];
if (URL)
{
checkView.imageURL = URL;
}
else
{
NSURL *defaultURL = [NSURL URLWithString:@"http://www.domain.com/user_avatar_default.jpg"];
checkView.imageURL = defaultURL;
}
}
}
}
有没有更好的方法来访问我需要的视图并向其中添加图像?其他一些我没有想到的逻辑。
这是scrollView的层次结构
scrollView
|
|
MaseterView
|
|
AsyncImageView - TitleView - OtherImageView