在将TTLauncherItem添加到TTLauncherView中之后,我想要更改添加的TTLauncherItem的图像。
但是当我改变image的值时,它不起作用。视图上没有任何更改。
如何立即刷新TTLauncherItem镜像?
感谢高级
init方法是,
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";}
发布于 2010-12-02 16:46:27
我不确定这是否符合您的需求(诚然,这不是最好的解决方案),但您可以从superview中删除旧的TTLauncherView,然后使用新图像重新创建启动器视图。
发布于 2011-08-04 18:19:00
你自己想办法就行了。
首先保存页面,然后进行修改,然后恢复。
NSArray *pages = [_launcherView.pages copy];
// here to amend the items
// something like item.xxx=xxx;
[_launcherView setPages:pages];
[pages release];祝好运!
https://stackoverflow.com/questions/4295194
复制相似问题