当前uiview的addSubView

Posted

技术标签:

【中文标题】当前uiview的addSubView【英文标题】:addSubView of present uiview 【发布时间】:2012-12-13 15:08:07 【问题描述】:

我在其他控制器中创建了一个带有一些标签的自定义 UIView。 我已将 UIView 命名为“ReportsView.h”

然后回到主控制器 UIView,我希望在 UIScrollView 中添加一个子视图。 使用下面的代码,添加了视图,但内容为空白。这就像添加一个纯空白的 UIView 而不是我准备好的 ReportsView。

ReportsView *rv = [[ReportsView alloc] init];
[rv setFrame:CGRectMake(self.scrollView.frame.size.width,0,self.scrollView.frame.size.width,600)];
[self.scrollView addSubview:rv];

【问题讨论】:

self.scrollView.frame.size.widt x 原点添加是否正确?也许你的 ReportsView 类中有些“错误” 【参考方案1】:
CGRectMake(self.scrollView.frame.size.width,0,self.scrollView.frame.size.width,600)

被放置在屏幕外。 (或者滚动视图正在剪切子视图)

我相信滚动视图的子视图的原点在你的情况下应该是 0,0

CGRectMake(0,0,self.scrollView.frame.size.width,600)

CGRectMake(0,0,self.scrollView.frame.size.width,self.scrollView.frame.size.height)

应该工作

【讨论】:

嗨,Maudicus,它的大小无关紧要。视图根本没有出现(它是空白的)。目前我必须用标识符初始化视图控制器并获取它的视图,而不是直接初始化视图,例如: ReportsViewController *sv = [sb instantiateViewControllerWithIdentifier:@"Reports"]; sv.view // 控制器内部的视图

以上是关于当前uiview的addSubView的主要内容,如果未能解决你的问题,请参考以下文章

检查 UIView 当前是不是正在制作动画

判断 UIView/Image 当前是不是可见

UIView.layer.presentationLayer 返回最终值(而不是当前值)

如何确定当前是不是正在 UIView 中播放动画?

在动画期间访问 UIView 的当前位置

如何在当前 UITableViewController 上方添加一个 UIView