布局网格与图像,标签,scrollview

时间:2012-02-29 12:50:57

标签: ios layout grid uiimage

我正在为一个iPad应用程序创建一个布局,该应用程序将包含xx个图像和按钮(根据Web服务调用的响应动态确定),我需要将它们放置在网格状布局中滚动视图(水平)... 现在,我知道有许多自定义UI控件可以执行与此类似的操作,但我还没有找到符合我的需求的自定义UI控件...

基本上我想要/需要的是每个条目'有图像,叠加图像,与图像大小匹配的按钮和图像顶部的两个标签...

那么有人知道一个符合我想要的自定义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
    }
}

1 个答案:

答案 0 :(得分:0)

我建议创建自定义视图...从UIView创建一个自定义类并将所有这些控件放在上面。您应该创建initWithCustomData,其中自定义数据是您从Web获得的数据。一旦你掌握了所有这些,你就可以对它们进行排序,就好像它们只是一个简单的控制一样。 至于更新。如果整个视图具有固定大小,则只需在自定义视图中创建一些内部方法即可更改子视图的帧。如果frame是动态的,你基本上都是这样做的,但你必须重新定位所有自定义视图(只需使用UIView动画)。