好的,我已经经历了类似的问题,但没有一个有帮助。 我想在UIScrollView中添加一个UILabel,以便在内容很大时可以滚动Label。这是我的代码:
ViewController.h:
@interface ViewController : UIViewController
{
UILabel *myLabel;
UIScrollView *myScroll;
}
ViewController.h:
myLabel = [[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y+30, self.view.frame.size.width, self.view.frame.size.height)];
myScroll = [[UIScrollView alloc] initWithFrame:CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y+30, self.view.frame.size.width, self.view.frame.size.height)];
myLabel.backgroundColor = [UIColor yellowColor];
myLabel.text = @"Large random text";
[myLabel setNumberOfLines:0];
myLabel.lineBreakMode = NSLineBreakByWordWrapping;
[myLabel sizeToFit];
myScroll.contentSize = CGSizeMake(myLabel.frame.size.width,
myLabel.frame.size.height);
[myScroll addSubview:myLabel];
[self.view addSubview:myScroll];
我在网上搜索了很多但找不到答案,有人能告诉我这是什么问题吗? 谢谢!
答案 0 :(得分:0)
我不知道该怎么做,但我想建议一个可能适合您需求的替代品。使用UITextView,但设置“[textView userInteractionEnabled:NO]”,它将作为标签,因为它无法编辑。它可能最终看起来像你想要的。
答案 1 :(得分:0)
根据您的评论,您需要根据需要调整标签大小,以便它对于给定的文本足够大。然后将标签添加到滚动视图。然后设置滚动视图contentSize
,使其适合整个标签。这将确保滚动视图允许您滚动以查看整个标签。
除此之外,请确保标签的框架相对于滚动视图而不是self.view
。换句话说,将标签的框架原点设置为0,0将使标签位于滚动视图的左上角,而不管滚动视图相对于其父级的位置。
答案 2 :(得分:0)
尝试将下面的代码替换为contentSize,
myScroll.contentSize = CGSizeMake(self.view.frame.size.width,self.view.frame.size.height + 100);
希望它适用于你。
答案 3 :(得分:0)
1.您必须使用View(ContentView)来放置标签。
2.将ContentView添加到ScrollVIew。
3.根据需要分配ContentView大小
通过此链接,您将获得一个清晰的想法。 https://www.youtube.com/watch?v=UnQsFlMGDsI
删除scrollView = [[UIScrollView alloc] init];这不是必要的。如果有帮助,请提前投票。