布局网格与图像,标签,滚动视图
问题描述:
我创建了一个iPad应用程序的布局,将包含xx图像和按钮数量(动态确定基于来自Web服务调用的响应),我需要将它们放置在网格式的滚动视图(水平)... 现在,我知道有很多自定义用户界面控件可以做类似的事情,但我还没有找到一个匹配我的'需求'...布局网格与图像,标签,滚动视图
基本上我想/需要是每个“进入”有一个图像,叠加图像,按钮图像的大小和图像的顶部两个标签匹配...
那么是否有人知道一个自定义UI控件可以匹配我想要的吗?
或者我必须从头开始写这个吗?
我可能只有10个条目,但一直到100+(可能没有比这个高很多),所以也许有一个更友善的方法,那么我在下面考虑的方法... - 另一个问题是,我需要重做此视图出现每次(原因:我需要显示更新的数据)...
我已经做了一些手动创建网格的初始测试,并且这个至今:
int rows = 3; // fixed, will either be 2 or 3, depending on final size of images...
int columns = 8;// will be determined by response from web service
for(int i = 0; i < columns; i++)
{
for(int j = 0; j < rows; j++)
{
// Create the buttons to handle button press
UIButton *childButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
childButton.frame = CGRectMake(i * 100 + 10, j * 100 + 20, 100, 30);
[childButton setTitle:@"Test" forState:UIControlStateNormal];
[childButton addTarget:self action:@selector(presentPopoverMenu:) forControlEvents:UIControlEventTouchUpInside];
[self.scrollView addSubview:childButton];
// Create the images to display the pictures of the children
// Create the labels to display child name
// Create the labels to display pick up time
}
}
答
我建议创建自定义视图...创建一个从UIView的自定义类,并把它所有的控件。您应该创建initWithCustomData,其中自定义数据是您从Web获得的数据。一旦你拥有了所有的东西,无论如何你都可以对它们进行分类,就好像它们是一个简单的控制一样。 至于更新。如果整个视图具有固定大小,只需在自定义视图中创建一些内部方法即可更改子视图的框架。如果框架是动态的,你基本上可以做同样的事情,但你必须重新定位所有的自定义视图(只需使用UIView动画)。
这就像一个魅力...感谢...! – user969043 2012-03-01 14:59:55