我现在使用以下代码:
- (void)loadLauncher:(NSMutableArray *)categoriesArray {
_launcherView = [[TTLauncherView alloc] initWithFrame:self.view.bounds];
_launcherView.columnCount = 3;
// Number of pages in your launcherView.
NSMutableArray *pages = [[NSMutableArray alloc] initWithCapacity:2];
int numberOfObjects = [categoriesArray count];
// The launcherItems in each page, calculate automatically the number of objects available for the launcher.
NSMutableArray *launcherItems = [[NSMutableArray alloc] initWithCapacity:1];
// The counter to identify if the number of objects exceeds the,
// capacity of a launcher page of 9.
int j = 1;
for (int i = 0; i < numberOfObjects; i++){
if (j > 9){
// Add the current launcherItems array to the pages.
[pages addObject:launcherItems];
// Initialise new launcher items.
launcherItems = [[NSMutableArray alloc] initWithCapacity:1];
// Start the counter again.
j = 1;
} else {
int i = 0;
for (Category *c in categoriesArray) {
NSString *categoryImage = [[NSString stringWithFormat:@"bundle://category_%@_icon.png", [Utility removeSpecialCharacters:@"&'- " withString:c.categoryName]] lowercaseString];
NSLog(@" - %@", categoryImage);
TTLauncherItem *launcherItem = [[[TTLauncherItem alloc] initWithTitle:c.categoryName
image:categoryImage
URL:[NSString stringWithFormat:@"%d", i]
canDelete:NO] autorelease];
[launcherItems addObject:launcherItem];
i++;
}
}
j++;
}
// Add the current launcherItems to the pages.
[pages addObject:launcherItems];
[launcherItems release];
_launcherView.pages = pages;
[self.view addSubview:_launcherView];
}
旧方法:
我正在使用
TTLauncherView
控制器来自
http://three20.info
.
Three20是Objective-C类的集合,为应用商店中越来越多的流行应用程序提供支持。它提供了许多非常有用的特性,可以节省开发时间。
库是模块化的,这意味着您可以有选择地将库的元素合并到您的项目中。还有越来越多的扩展,包括XML和JSON解析,以及CSS样式表对应用程序主题化的支持。
我不太清楚该怎么做:
-
检查我的
arrayOfLauncherItems
有16个物体;和
-
如果有超过16个对象,则将其余对象添加到
_launcherView.pages
. 所以,如果假设总共有32个对象,我希望能够创建剩余16个对象的另一个数组,并将它们添加到
_启动程序视图.pages
NSArray
.
这是一个关于
TTLauncher视图
控制器工作:
TTLauncherView *_launcherView = [[TTLauncherView alloc] initWithFrame:self.view.bounds];
NSMutableArray *arrayOfLauncherItems = [[NSMutableArray alloc] init];
//add TTLauncherItem objects to arrayOfLauncherItems.
_launcherView.pages = [NSArray arrayWithObjects:arrayOfLauncherItems, nil];
这个
阵列发射
可能包含超过16个对象,这意味着
TTLauncherItem
对象应该位于第二页,以此类推(取决于总共有多少个对象)。
执行以下操作显然会添加相同的16个对象
阵列发射
,这意味着现在有了第二页,这基本上是我想要实现的,如果
阵列发射
.
_launcherView.pages = [NSArray arrayWithObjects:arrayOfLauncherItems, arrayOfLauncherItems, nil];