Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何从TTLauncher/Three20中删除项目?_Iphone_Ios_Three20 - Fatal编程技术网

Iphone 如何从TTLauncher/Three20中删除项目?

Iphone 如何从TTLauncher/Three20中删除项目?,iphone,ios,three20,Iphone,Ios,Three20,如何在页面数组中添加此项后删除该项 我在这里试过: launcherView.pages = [NSArray arrayWithObjects: [NSArray arrayWithObjects: [self launcherItemWithTitle:@"Pers. Starts." image:@"bundl

如何在页面数组中添加此项后删除该项

我在这里试过:

 launcherView.pages = [NSArray arrayWithObjects:
                      [NSArray arrayWithObjects:
                       [self launcherItemWithTitle:@"Pers. Starts."
                                             image:@"bundle://animexx-72.png"
                                               URL:@"tt://startseite"],
                       [self launcherItemWithTitle:@"ENS"
                                             image:@"bundle://animexx-72.png"
                                               URL:@"tt://ens"],
                       [self launcherItemWithTitle:@"Kontakte"
                                             image:@"bundle://animexx-72.png"
                                               URL:@"tt://kontakte"],
                       [self launcherItemWithTitle:@"Einstellungen"
                                             image:@"bundle://animexx-72.png"
                                               URL:@"tt://einstellungen"],
                       [self launcherItemWithTitle:@"Admin"
                                             image:@"bundle://animexx-72.png"
                                               URL:@"tt://admin"]
                       , nil]
                      , nil];


//Check if ENS-Admin enabled
if ([SelfViewHandler IsENSAdminSet])
{
    TTLauncherItem* item;
    item = [launcherView itemWithURL:@"tt://admin"];

    [launcherView removeItem:item animated:false];
}
但该项目仍然存在。
(如果子句为true,请在调试器和断点中选中它)

对象
item=[launcherView itemWithURL:@“tt://admin”]
实际上不存在于
TTLauncherView
中,因此不会被删除

每个对象在创建时都会获得一个引用,因此在创建pages数组时添加的对象与在if语句中创建的对象不同

要从
TTLauncherView
中删除对象,需要对其进行引用。你可以这样做:

TTLauncherItem* item = [self launcherItemWithTitle:@"Admin"
                                         image:@"bundle://animexx-72.png"
                                           URL:@"tt://admin"]

launcherView.pages = [NSArray arrayWithObjects:
                      [NSArray arrayWithObjects:
                       [self launcherItemWithTitle:@"Pers. Starts."
                                             image:@"bundle://animexx-72.png"
                                               URL:@"tt://startseite"],
                       [self launcherItemWithTitle:@"ENS"
                                             image:@"bundle://animexx-72.png"
                                               URL:@"tt://ens"],
                       [self launcherItemWithTitle:@"Kontakte"
                                             image:@"bundle://animexx-72.png"
                                               URL:@"tt://kontakte"],
                       [self launcherItemWithTitle:@"Einstellungen"
                                             image:@"bundle://animexx-72.png"
                                               URL:@"tt://einstellungen"],
                       adminLauncherItem
                       , nil]
                      , nil];


//Check if ENS-Admin enabled
if ([SelfViewHandler IsENSAdminSet])
{
    [launcherView removeItem:adminLauncherItem animated:false];
}
有一个基于URL删除启动程序项的函数是有意义的,比如

- (void)removeItemWithURL:(NSURL*)url animated:(BOOL)animated {
(但目前还没有:-)