viewForItemAtIndex中的对象

时间:2011-06-01 08:02:13

标签: iphone xml

我使用UITableview显示来自TouchXML的NSDictionary的数据。 TouchXML是一个在我的iPhone应用程序中集成XML提要的系统。

对于Tableview这一切都有效,我把这样的NSdictionary放在我的UITableview中:

[[[newsEntries objectAtIndex:indexPath.row] objectForKey: @"still"] retain];

现在我正在使用iCarousel软件,它是一个类似开源的CoverFlow系统。在我使用AFOpenFlowView之前,这只是一个痛苦因为它不会接受UIViews。只有图片。

我需要从XML加载iCarousel中的缩略图。所以我需要从字典中获取一个字符串并将其更改为UIImage。

我做了这个工作。我遇到的问题是我需要在iCarousel中加载多个图像,就像在TableView行中加载多个图像/缩略图一样。 现在我需要对iCarousel做同样的事情,但是怎么做?

这就是我现在的票价。问题是TableView有一个indexPath.row而这个viewForItemAtIndex没有。

- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index {
    //create a numbered view
    NSString *imageUrl = [[[newsEntries objectAtIndex:indexPath.row] objectForKey:@"still"] retain];
    NSData* imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:imageUrl]];
    UIView *view = [[[UIImageView alloc] initWithData:imageData] autorelease];
    UILabel *label = [[[UILabel alloc] initWithFrame:view.bounds] autorelease];
    label.text = [NSString stringWithFormat:@"%i", [[items objectAtIndex:index] intValue]];
    label.backgroundColor = [UIColor clearColor];
    label.textAlignment = UITextAlignmentCenter;
    label.font = [label.font fontWithSize:50];
    [view addSubview:label];
    return view;
}

3 个答案:

答案 0 :(得分:1)

不应该将indexPath.row替换为index工作吗?

NSString *imageUrl = [[[newsEntries objectAtIndex:index] objectForKey:@"still"] retain];

答案 1 :(得分:0)

- (NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel
{
  return [items count];
}

答案 2 :(得分:0)

当我使用密钥对象

记录字符串时,这是响应
2011-06-01 14:57:51.273 [711:207] my url = (null)
2011-06-01 14:57:51.277 [711:207] my url = (null)

等。等等。