Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 带有图像、标签和滚动视图的布局网格_Ios_Layout_Grid_Uiimage - Fatal编程技术网

Ios 带有图像、标签和滚动视图的布局网格

Ios 带有图像、标签和滚动视图的布局网格,ios,layout,grid,uiimage,Ios,Layout,Grid,Uiimage,我正在为一个iPad应用程序创建一个布局,其中包括xx个图像和按钮(根据web服务调用的响应动态确定),我需要将它们放置在滚动视图(水平)中的网格状布局中。。。 现在,我知道有许多自定义UI控件可以做类似的事情,但我还没有找到一个符合我的“需要” 基本上我想要/需要的是每个“条目”都有一个图像、一个覆盖图像、一个与图像大小匹配的按钮以及图像顶部的两个标签 那么,有谁知道定制的UI控件会符合我的要求吗 还是我必须从头开始写 我可能有10个条目,但也可能有100+(可能不会比这个高很多),所以也许有

我正在为一个iPad应用程序创建一个布局,其中包括xx个图像和按钮(根据web服务调用的响应动态确定),我需要将它们放置在滚动视图(水平)中的网格状布局中。。。 现在,我知道有许多自定义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
    }
}
int行=3;//固定,将是2或3,取决于图像的最终大小。。。
int columns=8;//将由来自web服务的响应确定
对于(int i=0;i
我建议创建自定义视图。。。从UIView创建一个自定义类,并将所有这些控件放在上面。您可能应该创建initWithCustomData,其中自定义数据是您从web获取的数据。一旦你有了所有这些,你就可以按照你想要的方式对它们进行排序,就好像它们是一个简单的控件一样。 至于更新。如果整个视图的大小固定,只需在自定义视图中创建一些内部方法来更改子视图的框架。如果帧是动态的,则基本上可以执行相同的操作,但必须重新定位所有自定义视图(只需使用UIView动画)