【发布时间】:2014-02-10 07:51:24
【问题描述】:
尝试将子视图添加到 UIScrollView,这是在 XIB 文件中定义的。下面的代码是我尝试在视图控制器中添加子视图的方式。但是没有添加子视图。
有什么建议吗?
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
CGRect frame = _tasksScrollView.frame;
frame.size.width /= 3.0;
NSArray *colors = [NSArray arrayWithObjects:[UIColor blueColor],
[UIColor redColor],
[UIColor yellowColor],
[UIColor greenColor],
[UIColor purpleColor],
nil];
for (int i = 0; i < [colors count]; i++, frame.origin.x += frame.size.width) {
UIView *subView = [[UIView alloc] initWithFrame:frame];
subView.backgroundColor = [colors objectAtIndex:i];
[_tasksScrollView addSubview:subView];
}
_tasksScrollView.contentSize = CGSizeMake(frame.size.width * [colors count], frame.size.height);
}
【问题讨论】:
-
你确定 frame.origin.y 是 0
-
可能是您的子视图相对于滚动视图中的视图空间偏移,因为您从
scrollview.frame本身继承了x和y坐标,这实际上是相对位置到全屏。尝试设置子视图的x和y位置,使其从0开始。 -
感谢您的帮助!我的 UIScrollView 没有从原点 (0, 0) 开始,我将我的子视图框架的原点设置为与 UIScrollView 的原点相同,但这不起作用。将子视图的原点设置为 (0, 0) 有效。
-
@bohanl 很高兴你把它修好了。
标签: ios iphone uiview uiscrollview