布局网格与图像,标签,滚动视图

问题描述:

我创建了一个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动画)。

+0

这就像一个魅力...感谢...! – user969043 2012-03-01 14:59:55