滚动视图中的多个视图副本
Posted
技术标签:
【中文标题】滚动视图中的多个视图副本【英文标题】:Multiple copy of view in scrollview 【发布时间】:2011-12-22 09:46:00 【问题描述】:我有 2 个视图,其中包含 nib 文件中的一些标签和文本字段。我想制作视图的多个副本并添加一个滚动视图。当我开始在滚动视图中添加视图时,它会添加到滚动视图的顶部。帮助将不胜感激。 提前致谢。
【问题讨论】:
你能详细解释一下这个场景吗?实际上真的很难理解你真正想要什么以及你目前面临的是什么...... 【参考方案1】:您需要设置要添加到滚动视图的视图的框架。
subview.frame = CGRectMake(0, 0, 200, 200);
[self addSubView:c];
CGRectMake
定义将子视图添加到视图的位置。
CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height );
这样做会防止在 scrollView 中添加的视图彼此重叠。
【讨论】:
我的视图是 nib 文件中的一个单独对象。我想将此对象添加到滚动视图中的特定位置。我的问题是我的所有视图都被添加到滚动视图的原点。 是的,这就是我的意思。您必须在代码中引用这些视图?所以您可以使用CGRectMake
来设置框架,或者您可以使用 XCode Interface Builder 本身来设置视图的位置。【参考方案2】:
如果您希望一个接一个地添加视图,您必须计算视图的高度并修改每个添加到滚动条的新视图的框架。例如,如果您的视图是 100px 高度,那么您必须像这样添加它:
// Number of views added to the scroll
NSUInteger numberOfViews = 0;
// View loaded from XIB
theNewView.frame = CGRectMake(theNewView.frame.origin.x,
theNewView.frame.origin.y + numberOfViews*theNewView.frame.size.height,
theNewView.frame.size.width,
theNewView.frame.size.height);
// Add the view to the scroll and increment the number of views
[scrollView addSubview:theNewView];
numberOfViews++;
【讨论】:
【参考方案3】:也许你需要这些方法?
-sendSubviewToBack:
–bringSubviewToFront:
【讨论】:
以上是关于滚动视图中的多个视图副本的主要内容,如果未能解决你的问题,请参考以下文章