user3839375
user3839375

Reputation:

how to display images horizontal UIscrollView Programmatically

I did Get images for Url.and then display on SCrollView.My code like this

 NSMutableArray *al=[NSJSONSerialization JSONObjectWithData:webData options:0 error:nil];
    for (NSDictionary *diction in al)
    {


       NSString *geting =[diction valueForKey:@"dealimage"];
        NSLog(@"dealimage is %@",geting);

        NSData *getdata=[[NSData alloc]initWithData:[NSData dataFromBase64String:geting]];
        NSLog(@"good day %@",getdata);
        dataimages=[UIImage imageWithData:getdata];
        NSLog(@"dataimages %@",dataimages);

        [imagesarray addObject:dataimages];


     }

scrollView=[[UIScrollView alloc]init];

    scrollView.delegate = self;
    scrollView.scrollEnabled = YES;
    int scrollWidth = 100;
    scrollView.contentSize = CGSizeMake(scrollWidth,100);
    scrollView.frame=CGRectMake(0, 0, 320, 100);
    scrollView.backgroundColor=[UIColor yellowColor];

    [self.view addSubview:scrollView];

    int xOffset = 0;
    imageView.image = [UIImage imageNamed:[imagesName objectAtIndex:0]];

    for(int index=0; index < [imagesName count]; index++)
    {

        UIImageView *img = [[UIImageView alloc] init];
        img.bounds = CGRectMake(10, 10, 50, 50);
        img.frame = CGRectMake(5+xOffset, 0, 160, 110);
        NSLog(@"image: %@",[imagesName objectAtIndex:index]);
        img.image = [UIImage imageNamed:[imagesName objectAtIndex:index]];
        [images insertObject:img atIndex:index];
        scrollView.contentSize = CGSizeMake(scrollWidth+xOffset,110);

        [scrollView addSubview:[images objectAtIndex:index]];

        xOffset += 170;
    }

my Problem is ScrollView is Display but Images are not add So please tell me what wrong in my code

now i need like this image2

I know how to get images for Url.now i need display images Horizontal ScrollView So Please give me any idea about images .

Upvotes: 3

Views: 14222

Answers (4)

Anbu.Karthik
Anbu.Karthik

Reputation: 82759

your coding is Fine, but you are assign the value of [scrollView addSubview:[images objectAtIndex:index]];, this is not the fine one, I modify your code, as per your result Want

UIScrollView  *scrollVie=[[UIScrollView alloc]init];

scrollVie.delegate = self;
scrollVie.scrollEnabled = YES;
int scrollWidth = 100;
//scrollVie.contentSize = CGSizeMake(scrollWidth,100);
scrollVie.frame=CGRectMake(0, 51, self.view.frame.size.width, 100);
scrollVie.backgroundColor=[UIColor redColor];




int xOffset = 0;

for(int index=0; index < [imagesarray count]; index++)
{

    UIImageView *img = [[UIImageView alloc] initWithFrame:CGRectMake(xOffset,10,160, 110)];
    img.image = (UIImage*) [imagesarray objectAtIndex:index];

    [scrollVie addSubview:img];

    xOffset+=100;


}

[self.view addSubview:scrollVie];

scrollVie.contentSize = CGSizeMake(scrollWidth+xOffset,110);

Upvotes: 7

Hardik Kardani
Hardik Kardani

Reputation: 576

"official" example created by Apple take a look at the StreetScroller Demo.

Upvotes: 2

Vikas Sawant
Vikas Sawant

Reputation: 106

Instead of using table view why don't you user UICollectionView with their delegates.

you can refer this - Creating a UICollectionView programmatically

It's best way to achieve your requirement.

Upvotes: 0

iosGuru
iosGuru

Reputation: 11

For the desired outcome that is shown in the picture, ie, the horizontal scroll, Use ScrollView instead of tableview.

set the pane of scroll to horizontal and dynamically create imageview inside a loop and insert images inside it

hope it helps :)

Upvotes: 1

Related Questions