在iOS中向屏幕动态添加一组控件



我在一个屏幕上工作,用户从下拉列表中选择一个选项。基于这个选择,他在屏幕上添加了一堆控件。我的下拉列表在屏幕的右下角。它占据了底部屏幕空间的20-25%。在底部剩余的75%屏幕中,我需要添加9个标签、6个UItext字段、2个下拉菜单和2个按钮。我在这里附上一个标记。

我的问题是:在ASP。NET,我有一个中继器,它有上面所有的控件。在其中一个名为"添加更多"的按钮中。如果我点击那个按钮,它会在当前中继器的底部添加相同的中继器。我们在iOS中有类似的东西吗?就像一个中继器,它有一堆控件,点击添加,然后在底部添加确切的中继器,以此类推。如果有任何基于我的解释的想法/新想法弹出,请告诉我。谢谢

链接http://dl.dropbox.com/u/40597849/mockup2.png

因此,当用户单击"添加更多"时,应该再次添加右侧的大矩形,该矩形包含8个标签、文本框、下拉列表及其下方的2个按钮(其中一个被命名为"添加其他")。如果你需要更多信息,请问我。

ITMCustomView *cView = [[ITMCustomView alloc] initWithFrame:frame];
cView.delegate =self;
CGPoint scrollPoint = CGPointMake(0.0, (frame.origin.y/400)*400);
[self.scrollView setContentOffset:scrollPoint animated:YES];
[self.scrollView addSubview:cView];

最初是我添加的第一个自定义视图,我添加了这个框架大小(18758535021)。接下来,每当我点击添加更多时,我都会将此代表称为

[self.delegate addNewSize:CGRectMake(187,self.y+ 400 , 400, 400)];

这调用了上面的5行代码,并创建了一个新的自定义视图,并将其添加到滚动视图中。我将self.y存储为当前正在构建的任何帧的y值。那么,我该如何使我的滚动视图自由地上下移动呢。屏幕显示添加的自定义视图,但不允许我再向上查看。我想添加5次自定义视图,我添加了4次。我只想向上滚动,看我添加了四次向下滚动,只添加了一个自定义视图,并用它做其他处理。但我的滚动视图不起作用,它卡在刚刚添加的自定义视图上,无法向上滚动。如果你需要更多信息,请问我。谢谢。

使用包含所有视图的自定义视图。

1.)生成一个自定义类myView,该类是UIView的子类
2.)在该视图类中添加所需的所有控件
3.)在主视图中包含myView
4.)启动任意数量的myView,并将它们添加到主视图中。

我希望这一点足够清楚,让你继续前进。


更新:如需详细说明观众的评论
当您创建一个新类myView子类UIView时,您会得到一张空表。此工作表将具有您在类中或启动时指定的框架(由您决定)。在该框架内(initWithFrame中的myView.hmyView.m),可以添加子视图,如按钮或标签。这些子视图将相对于图纸myView放置。

例如,绘图是一个包含所有控件的自定义视图。我可以通过简单地启动另一个自定义视图而不添加更多的子视图来创建另一个与它完全相似的视图。我所需要做的就是将第二个自定义视图移动到我想要的位置,所有子视图都将跟随。

我鼓励你阅读如何子类化以及如何在iOS中工作。一旦你掌握了窍门,它就非常简单

最新更新