我很好奇我将如何实现类似的视图(见下文)类似于用于iPhone照片应用程序的视图。我最初的想法是一个桌面视图,每个单元格保存4个图像,任何人都可以指向正确的方向。我特别感兴趣的是使用Apple的API,所以在这个阶段不要对第三方API /控制器感到困扰。
答案 0 :(得分:1)
是的,正如你所说,桌面视图可以工作,4个东西(/行)中的每一个都是带有自定义图像的UIButton。您必须确保表行本身不可选。 (UITableView Setting some cells as "unselectable")如果你要有很多行,请确保使用表格视图单元格缓存。
实际的表视图单元格可以是UITableViewCell子类,也可以只是普通的子类,并在其contentView中添加了一些子视图。
答案 1 :(得分:0)
答案 2 :(得分:0)
在iOS上,这项工作主要是为您完成的。查看Apple的MPMediaPickerController
文档。
答案 3 :(得分:0)
AQGridView是FOSS,用于许多知名应用程序,如Kobo阅读器和Netflix演员。
答案 4 :(得分:0)
您需要使用UIScrollView和一堆UIImageViews或UIButtons(图像作为背景图像)。此代码在滚动视图上使用按钮。此外,你需要一个函数来生成缩略图,除非你使用资产库,在这种情况下函数已经存在。
[scrollview setContentSize:CGSizeMake(320, (items*itemWidth)];
for (int i = 0; i < [items count]; i++) {
if (i % 4 == 0) {
y+=1;
x = 0;
}
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
[myButton setBackgroundImage:[UIImage imageWithCGImage:[items objectAtIndex:i]] forState:UIControlStateNormal];
CGRect rect2 = myButton.frame;
rect2.size.height = kScrollObjHeight2;
rect2.size.width = kScrollObjWidth2;
rect2.origin.y = 10 + (y * 70) + (y *5);
rect2.origin.x = 8 + (x * kScrollObjWidth2) + (x *8);
myButton.frame = rect2;
myButton.tag = i; // tag our images for later use when we place them in serial fashion
x = x + 1;
[myButton addTarget:self action:@selector(clickFunction:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:myButton];
[scrollview addSubview:myButton];
}
};
[scrollview setBackgroundColor:[UIColor blackColor]];
[scrollview setCanCancelContentTouches:NO];
scrollview.indicatorStyle = UIScrollViewIndicatorStyleWhite;
scrollview.clipsToBounds = YES; // default is NO, we want to restrict drawing within our scrollview
scrollview.scrollEnabled = YES;
scrollview.pagingEnabled = YES;