UIScrollView会关闭标签

时间:2012-07-20 04:16:59

标签: objective-c

我有一个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分配给它的默认设置。

The text on the bottom is cut off and I can't scroll it.

2 个答案:

答案 0 :(得分:1)

尝试根据标签的高度和位置更改滚动浏览的contentSize

例如:

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

[scrollView setContentSize:(CGSizeMake(320, scrollHeight))];

答案 1 :(得分: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;