我有一行文字太长而无法在UILabel
的一行显示,所以我切换到UITextView
。我想在一行中显示该文本,并且能够水平滚动,但是UITextView
将文本换行为多行,并允许我垂直滚动。因此,对于文本“这是一个非常非常长的行”,而不是像“这是一个”那样显示它,然后如果水平滚动,它将显示其余部分,它实际上显示它像“这是一个\” n非常长\ n行“。我怎样才能得到我想要的行为?
谢谢, 米哈伊
答案 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);
当然,您必须使用各自的规格替换文字和字体