ObjC - 以编程方式向 UIScrollView 添加标签
ObjC - Programmatically add label to UIScrollView
如何以编程方式向 UIScrollView 添加标签(或其他控件)?
我使用了这段代码,但无法滚动。这让我相信它不会将标签添加到 UIScrollView。
这是我的代码:
for (int i = 1; i <= 30; i++)
{
UILabel *myLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, (i * 50), 200, 40)];
[myLabel setBackgroundColor:[UIColor clearColor]];
[myLabel setText:@"Dynamic"];
[self.Scroller addSubview:myLabel];
}
没有错误,它确实创建了标签,但正如我之前所说,没有滚动。
我们做错了什么?
提前致谢。
您没有为 scrollView 设置 contentSize,在您的循环中添加此行:-
CGSize newContentSize=scroll.contentSize;
newContentSize.height+=i*50;
[self.Scroller setContentSize:newContentSize];
[self.Scroller setContentSize:CGSizeMake(self.Scroller.frame.size.width, (30 * 50)];
for (int i = 1; i <= 30; i++)
{
UILabel *myLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, (i * 50), 200, 40)];
[myLabel setBackgroundColor:[UIColor clearColor]];
[myLabel setTextColor:[UIColor blackColor]];
[myLabel setText:@"Dynamic"];
[self.Scroller addSubview:myLabel];
}
CGSize newContentSize=scroll.contentSize;
newContentSize.height+=30*50;
[self.Scroller setContentSize:newContentSize];
如何以编程方式向 UIScrollView 添加标签(或其他控件)?
我使用了这段代码,但无法滚动。这让我相信它不会将标签添加到 UIScrollView。
这是我的代码:
for (int i = 1; i <= 30; i++)
{
UILabel *myLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, (i * 50), 200, 40)];
[myLabel setBackgroundColor:[UIColor clearColor]];
[myLabel setText:@"Dynamic"];
[self.Scroller addSubview:myLabel];
}
没有错误,它确实创建了标签,但正如我之前所说,没有滚动。
我们做错了什么?
提前致谢。
您没有为 scrollView 设置 contentSize,在您的循环中添加此行:-
CGSize newContentSize=scroll.contentSize;
newContentSize.height+=i*50;
[self.Scroller setContentSize:newContentSize];
[self.Scroller setContentSize:CGSizeMake(self.Scroller.frame.size.width, (30 * 50)];
for (int i = 1; i <= 30; i++)
{
UILabel *myLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, (i * 50), 200, 40)];
[myLabel setBackgroundColor:[UIColor clearColor]];
[myLabel setTextColor:[UIColor blackColor]];
[myLabel setText:@"Dynamic"];
[self.Scroller addSubview:myLabel];
}
CGSize newContentSize=scroll.contentSize;
newContentSize.height+=30*50;
[self.Scroller setContentSize:newContentSize];