如何在 iOS 中将 UIView 添加到 UIScrollView 中(具有动态内容的视图)
Posted
技术标签:
【中文标题】如何在 iOS 中将 UIView 添加到 UIScrollView 中(具有动态内容的视图)【英文标题】:How to add UIView into UIScrollView in iOS (View having dynamic content ) 【发布时间】:2014-02-12 07:01:14 【问题描述】:我想创建一个具有许多子视图的滚动视图,如图所示。
所有视图中都有标签和图像。 scrollView 中添加的视图数量是动态的。 并且该视图的数据也是动态的。
这样我就无法在程序中制作静态视图并用于显示。
我想用自定义单元格制作滚动视图的子视图,如 TableView。 就像制作那个 TableViewCell 的对象并使用它一样。
我可以使用 ViewController 吗?
【问题讨论】:
【参考方案1】:如果我理解你的问题是真的,你需要像滚动视图的动态内容。所以你需要一个数组来控制将多少个单元格放入 scrollView 并创建标签、imageView 或任何你需要的东西。 比如这样;
//You will need to clean your scrollView Content in everytime
for(UIView *view in [yourScrollView subviews])
[view removeFromSuperview];
for(int i=0;i!=[yourArray count];i++)
labels[i]=[[UILabel alloc]init];
//anyInteger is about your views place.
views[i]=[[UIView alloc]initWithFrame:CGRectMake(21, i*anyInteger, 300, 50)];
views[i].backgroundColor=[UIColor colorWithRed:0.1 green:0.2 blue:1.8 alpha:0.0];
[views[i] addSubview:labels[i]];
[yourScrollView addSubview:views[i]];
这些代码将帮助您在 yourScrollView 中插入对象。我还没有对此进行测试,但我想它会给你一个想法。
【讨论】:
我认为它可以工作,但是还有其他方法可以像在 UITableView 中显示自定义单元格吗?意味着一个类只有包含标签、图像等的视图,只需要在该类中创建一个对象并分配像 objViewClass.lblName = @"yucel" 这样的值。 是的,我想你能做到。创建一个类,编写 initWithnibName 方法并给出你想要这个类显示的内容。然后像这样调用这个类 *objectOfClass=[[class alloc]init]; objectOfClass.view.frame=CGRectMake(0, 100, 800, 900); [ self.view addSubview:objectOfClass.view]; 再次感谢 Yucel,我也从 link 得到了答案。 欢迎@YashpalJavia以上是关于如何在 iOS 中将 UIView 添加到 UIScrollView 中(具有动态内容的视图)的主要内容,如果未能解决你的问题,请参考以下文章
如何在一行代码中将多个子视图添加到我的 iOS 视图中? (也许通过“monkeypatching”一个 `addSubviews` 实例方法到 UIView?)
如何在真实设备上的 iOS 10 中将渐变应用到 UIView
如何在 ViewController 中将 AVPlayer 添加到 UIView