我的应用程序底部有一个区域,它显示来自 xml 提要的自定义横幅图像,如下所示:
<sponsor><image>image1.jpg</image></sponsor>
<sponsor><image>image2.jpg</image></sponsor>
<sponsor><image></image></sponsor>//image node is empty
<sponsor><image></image></sponsor>//image node is empty
<sponsor><image>image3.jpg</image></sponsor>
<sponsor><image>image4.jpg</image></sponsor>
我将这些图像解析为一个数组,并随着时间的推移更改横幅广告,并且应该重复相同的循环。
<image>
现在我在显示区域显示了这些图像,当节点中没有内容时,该区域变为空白。我需要的是跳过空<image>
节点并用图像显示节点的内容。
我正在使用以下代码:
我有一个横幅对象:
横幅对象
@implementation bannerObj
@synthesize url,index;
@end
我的 HomepageViewController.m 中的此方法存储数组,如下所示:
- (void)processCompleted{
NSMutableArray *bannerArray=[[self sponsorrssParser]sponsorrssItems];
banArray=[[NSMutableArray alloc]init];
bannerObj *bannObj = [[bannerObj alloc]init];
NSString *bannerImagestr;
for(int i=0; i<[bannerArray count]; i++){
bannerImagestr = [[bannerArray objectAtIndex:i] BannerImage];
NSLog(@"banner image str-------->>> %@",bannerImagestr);
if(bannerImagestr != nil){
bannerImagestr = [ bannerImagestr stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSURL *url = [NSURL URLWithString:bannerImagestr];
NSData *data = [NSData dataWithContentsOfURL:url];
img = [[[UIImage alloc] initWithData:data] autorelease];
bannObj.url = img;
bannObj.index = i;
[banArray addObject:bannObj];
NSLog(@"banner array---->>>%@",banArray);
}
}
[spinner stopAnimating];
}
这是在区域上设置图像的目标方法。
-(void) targetMethod:(id) sender {
int countOfBanners=[banArray count];
NSLog(@"count of banners ----->> %d",countOfBanners);
if(numTimerTicks< countOfBanners)
{
roundedButtonType.tag = [[banArray objectAtIndex:numTimerTicks]index];
[roundedButtonType setBackgroundImage:[[banArray objectAtIndex:numTimerTicks]url]forState:UIControlStateNormal]; //sets the background Image
numTimerTicks++;
}
else{
numTimerTicks=0;
}
NSLog(@"count of timer ticks ----->> %d",numTimerTicks);
}
这会设置提要中的最后一张图片,我无法显示其他横幅图片。有人可以帮我解决这个问题吗?