UITextView只能水平滚动

时间:2010-10-11 19:14:13

标签: iphone scroll uiscrollview uitextview

我有一行文字太长而无法在UILabel的一行显示,所以我切换到UITextView。我想在一行中显示该文本,并且能够水平滚动,但是UITextView将文本换行为多行,并允许我垂直滚动。因此,对于文本“这是一个非常非常长的行”,而不是像“这是一个”那样显示它,然后如果水平滚动,它将显示其余部分,它实际上显示它像“这是一个\” n非常长\ n行“。我怎样才能得到我想要的行为?

谢谢, 米哈伊

2 个答案:

答案 0 :(得分:3)

如果您想要这种行为,则应将标签放在滚动视图中。这是你能够向任何方向滚动标签的唯一方法。

答案 1 :(得分:0)

使用Merrimack的建议,这对我有用:

self.dishNameLabel.text = @"Here is some very longgggg text to test with";
float width = ceil([self.dishNameLabel.text sizeWithAttributes:@{NSFontAttributeName: [UIFont fontWithName:@"WorkSans-SemiBold" size:15.0]}].width);
self.dishNameLabel.frame = CGRectMake(self.dishNameLabel.frame.origin.x, self.dishNameLabel.frame.origin.y, width, self.dishNameLabel.frame.size.height);
self.dishNameScrollView.contentSize = CGSizeMake( width, self.dishNameScrollView.frame.size.height);

当然,您必须使用各自的规格替换文字和字体