答案 0 :(得分:1)
[myScrollView addSubview:myLabel];
[myLabel release];
添加视图发生在父(容器)视图中,而不是正在添加的视图。
此外,一旦将其添加到superview,superview就拥有它,你应该发布它。
编辑:OP问道,“但是,当我创建其中10个时,会发生什么情况?它们会被置于彼此之下?”
没有。每个UIView子类(UIScrollView和UILabel都是)都有一个.frame
属性,它包含一个CGRect结构。该字段定义了对象的位置和大小。
所以:
UILabel *one = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 30)];
UILabel *two = [[UILabel alloc] initWithFrame:CGRectMake(0, 35, 200, 30)];
UILabel *three = [[UILabel alloc] initWithFrame:CGRectMake(0, 70, 200, 30)];
[myScrollView addSubview:one];
[myScrollView addSubview:two];
[myScrollView addSubview:three];
[one release];
[two release];
[three release];
那将放置三个UILabel,每个UILabel在滚动视图中200px宽,30px高,所有这些UILabel都在该视图的左侧齐平,一个在顶部右侧,一个35px向下,一个70px向下。
如果UIScrollView的内容大于UIScrollView的.frame
,则设置.contentSize
属性(同样,CGRect),该属性定义要滚动的内容区域。