1

我有UIScrollView很多labels嵌入其中。但是,如果底部labels的 ' 文本比平时长,则文本被截断,即UIScrollView不会让我滚动...

我该如何解决?

编辑:对,对不起...

标签是使用以下程序以编程方式创建的:

UILabel *parametersLabel = [[UILabel alloc] initWithFrame:CGRectMake(10,previousLabelFrameOriginY + previousLabelFrameSizeHeight + 10,self.view.frame.size.width - 10,20)];
parametersLabel.text = self.parameters;
parametersLabel.backgroundColor = [UIColor clearColor];
[parametersLabel setFont:[UIFont fontWithName:@"HoeflerText-Regular" size:16]];
parametersLabel.numberOfLines = 0;
[parametersLabel sizeToFit];
[self.scrollView addSubview:parametersLabel];

我没有对 UIScrollView 进行编程——它具有 Storyboard 分配给它的默认设置。

底部的文字被截断,我无法滚动它。

4

2 回答 2

1

尝试contentSize根据标签的高度和位置更改滚动视图。

例如:

CGFloat scrollHeight = 0.0f;
for (UIView* view in scrollView.subviews)
{
   scrollHeight += view.frame.size.height;
}

[scrollView setContentSize:(CGSizeMake(320, scrollHeight))];
于 2012-07-20T04:45:11.743 回答
1

您需要设置contentSize滚动视图的属性。如果你只是想让它contentSize足够大以包含滚动视图的所有子视图,试试这个:

CGSize size = CGSizeZero;
for (UIView *view in self.scrollView.subviews) {
    CGRect frame = view.frame;
    size.width = MAX(size.width, CGRectGetMaxX(frame));
    size.height = MAX(size.height, CGRectGetMaxY(frame));
}
self.scrollView.contentSize = size;
于 2012-07-20T04:45:21.070 回答