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