1

TTLauncherView に TTLauncherItem を追加した後、追加した 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 に答える