1

ここに例があります:マルチボタンにマルチ画像を表示し、スクロールビューに表示します

  (void)viewDidLoad
  {  
[super viewDidLoad];
 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
InitData *inData=[[InitData alloc]init];


scrollview.delegate=self;
scrollview.scrollEnabled = YES;
int scrollWidth = 120;
scrollview.contentSize = CGSizeMake(scrollWidth,100);


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

//Test
NSURL *url=[NSURL URLWithString:@"....."];
NSData *jsonData=[NSData dataWithContentsOfURL:url];


if (jsonData !=nil)
{

        NSError *error=nil;
        id result=[NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];

        if (error ==nil)
        {
                NSLog(@"%@",result);
              //  NSMutableArray *ArImg = nil;
               NSArray* rus=[result objectForKey:@"RespOBJ"];

    for (int index = 0; index < rus.count ; index++)
    {
        NSMutableDictionary* final=[rus  objectAtIndex:index];

        [inData setId:(int)[final objectForKey:@"Id"]];
        [inData setTum:[final objectForKey:@"TumbImage"]];
        [inData setImage:[final objectForKey:@"Image"]];

        UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
        [btn setImage:[UIImage imageNamed:[inData getImage]] forState:(UIControlStateNormal)];
        //[btn setImage:[UIImage imageWithData:jsonData] forState:(UIControlStateNormal)];

        [btn setTag:index];
        btn.bounds = CGRectMake(10, 10, 50, 50);
        btn.frame = CGRectMake(5+xOffset, 0, 160, 70);

        scrollview.contentSize = CGSizeMake(scrollWidth+xOffset,70);

        NSLog(@"%@",[inData getId]);
        NSLog(@"%@",[inData getImage]);
        NSLog(@"%@",[inData getTum]);

        [btn addTarget:self
             action: @selector(btnclick:)
             forControlEvents: UIControlEventTouchDown];

    [scrollview addSubview:btn];

    xOffset += 170;

}

4

1 に答える 1

0

コードの問題は、何もロードしていないことです。インターネットから画像をダウンロードして、スクロールビューに表示したいと思います。そのためには、 aNSURLRequestと aを使用する必要がありますNSURLConnection。Apple のドキュメントhttps://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSURLRequest_Class/Reference/Reference.htmlおよびhttps://developer.apple.com/libraryをご覧ください。 /ios/#documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/Reference.html
データを非同期的にロードする方法に関するこの質問も好きかもしれません

于 2012-09-19T13:42:37.070 に答える