i am working on an application where i am using LIBXML parser for parsing and nsurl for loading image as i am getting image url after parsing.
- (void)parser:(myLIBXMLParser *)parserP didParseObjects:(NSArray *)parsedObjects{
if(!isScrollViewCreated){
LibParser *p=(LibParser*)parserP;
NSUInteger i=[[p.dOtherValues valueForKey:@"TotalCount"] intValue];
//i=kTotalElements;
NSLog(@"%d",i);
scr=[[UIScrollView alloc] initWithFrame:CGRectMake(0,60,320,350)];
NSUInteger rows=(i%2==0)?(i/2):(i/2)+1;
NSLog(@"================rows:%d==========",rows);
[scr setContentSize:CGSizeMake((172*rows)+32,330)];
//NSLog(@"---------------Scr size.width==%d",[scr.contentSize.width]);
//NSLog(@"SCr size Width=%f =============",[scr.contentSize.width]);
scr.tag=kScrollTag;
[self.view addSubview:scr];
isScrollViewCreated=YES;
}
NSUInteger prevCount=[objects count];
NSLog(@"--------------------------------prev count=%d--------------------------------",prevCount);
[objects addObjectsFromArray:parsedObjects];
NSUInteger currentCount=[objects count];
NSLog(@"---------------------------------Current count=%d----------------------------",currentCount);
for (int i = prevCount; i < currentCount; i++) {
ItemVCtr *nxt=[[ItemVCtr alloc] initWithNibName:@"ItemVCtr" bundle:nil];
NSUInteger rowNo=(((i+1)%2)==0)?((i+1)/2):(((i+1)/2)+1);
NSLog(@"---------------------------------row NO=%d----------------------------",rowNo);
CGFloat yDis=(((i+1)%2)==0)?180:10.0;
CGFloat xDis=((rowNo-1)==0)?0:((rowNo-1)*160);
NSLog(@"---------------------------------Xdis count=%f----------------------------",xDis);
[arrCCell addObject:nxt];
scr=(UIScrollView*)[self.view viewWithTag:kScrollTag];
ItemVCtr *v=(ItemVCtr*)[arrCCell objectAtIndex:i];
[v setDMiddle:[objects objectAtIndex:i]];
nxt.view.frame=CGRectMake(xDis,yDis, 112, 130);
[scr addSubview:nxt.view];
if([[[objects objectAtIndex:i]valueForKey:@"Name"] length]>0){
UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(xDis,yDis+130,112,20)];
myLabel.text =[NSString stringWithFormat:@"%@",[[objects objectAtIndex:i]valueForKey:@"Name"]];
[myLabel setFont:[UIFont fontWithName:@"Arial" size:11]];
myLabel.backgroundColor=[UIColor clearColor];
[scr addSubview:myLabel];
}
if([[[objects objectAtIndex:i]valueForKey:@"BrandName"]length]>0){
UILabel *myLabel1 = [[UILabel alloc] initWithFrame:CGRectMake(xDis,yDis+145,112,20)];
myLabel1.text =[NSString stringWithFormat:@"%@",[[objects objectAtIndex:i]valueForKey:@"BrandName"]];
[myLabel1 setFont:[UIFont fontWithName:@"Arial" size:11]];
myLabel1.backgroundColor=[UIColor clearColor];
[scr addSubview:myLabel1];
}
else{
UILabel *myLabel1 = [[UILabel alloc] initWithFrame:CGRectMake(xDis,yDis+140,112,20)];
myLabel1.text =[NSString stringWithString:@""];
[myLabel1 setFont:[UIFont fontWithName:@"Arial" size:11]];
myLabel1.backgroundColor=[UIColor clearColor];
[scr addSubview:myLabel1];
}
[nxt release]; nxt=nil;
}
}
now i want to implement the lazy loading in scrollview. i want to display images that are visible in scrollview only or specific number of images at a time. so please tell any way to implement this or tell me any technique...