1

将TTLauncherItem添加到TTLauncherView后,我想为添加的TTLauncherItem更改图片。</p>

但是当我更改图像的值时,它不起作用。视图没有变化。

如何立即刷新 TTLauncherItem 的图片?</p>

谢谢高人~~~~

init方法是,</p>

 for (int i = 0; i < pages; i++) {

    NSMutableArray*    pageArray = [NSMutableArray array];
    for (int j = 0; j<pageCount && (j+i*pageCount)<[titleArray count]; j++) {

        [pageArray addObject:[[[TTLauncherItem alloc] initWithTitle:[titleArray objectAtIndex:(j+i*pageCount)]
                                                              image:@"bundle://Icon.png"
                                                                URL:@"tt://setUp" 
                                                          canDelete:NO] autorelease]];
    }
    [pagesArray addObject:pageArray];
}

_launcherView.pages = [NSArray arrayWithArray:pagesArray];

[self.view addSubview:_launcherView];

/////////以下几行改变。

TTLauncherItem *testItem = [[pagesArray objectAtIndex:0] objectAtIndex:0];
testItem.image = @"bundle://defaultMusic2.png";

/////////////

但是如果我将它移到另一个方法,例如我的 ImageDidLoad,然后获取 TTLauncherItem 对象,更改它的图像,它根本不起作用......或者这个:

- (void)launcherView:(TTLauncherView*)launcher didSelectItem:(TTLauncherItem*)item {
TTLauncherItem *testItem = [[_launcherView.pages objectAtIndex:0] objectAtIndex:4];
testItem.image = @"bundle://defaultMusic2.png";

}

4

2 回答 2

0

不确定这是否符合您的需求(诚然不是最漂亮的解决方案),但您可以从超级视图中删除旧的 TTLauncherView 并使用新图像重新创建启动器视图。

于 2010-12-02T08:46:26.830 回答
0

解决它。

首先保存页面,然后进行修改,然后恢复。

    NSArray *pages = [_launcherView.pages copy];

    // here to amend the items
    // something like item.xxx=xxx;
    [_launcherView setPages:pages];
    [pages release];

祝你好运!

于 2011-08-04T10:19:00.313 回答