Проблема Three20: Как обновить TTLauncherItem / изменить изображение - PullRequest
1 голос
/ 28 ноября 2010

После добавления TTLauncherItem в TTLauncherView я хочу изменить изображение для добавленного TTLauncherItem。

Но когда я изменил значение изображения, оно не работало. Нет никаких изменений в представлении.

Как я могу обновить изображение TTLauncherItem немедленно?

Спасибо, дополнительно ~~~~

метод инициализации ,

 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];

change Изменяются следующие строки.

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";

}

Ответы [ 2 ]

0 голосов
/ 04 августа 2011

просто поработайте.

сначала сохраните страницы, а затем внесите поправки, затем восстановите обратно.

    NSArray *pages = [_launcherView.pages copy];

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

Удачи!

0 голосов
/ 02 декабря 2010

Не уверен, что это соответствует вашим потребностям (и, по общему признанию, это не самое красивое решение), но вы можете удалить старый TTLauncherView из суперпредставления и воссоздать представление запуска с новым изображением.

...