我在 UIScrollView 中有 7 个 UIButton。根据代码中的 if 语句,前 3 个 UIButton 可以隐藏或可见。这意味着 3 个 UIButtons 显示有 8 种可能性。我遇到的问题是让 UIScrollView 调整其内容大小,以便其中没有“空”的空间。例如,如果中间的 UIButton 是隐藏的,但它上面和下面的按钮是可见的,则剩下一个空白区域。有什么办法可以让所有按钮在滚动视图中一个在另一个之下而没有任何间隙?
我已经尝试过这段代码,但它没有用:
if([[facilities objectAtIndex:0]intValue] == 1) {
facilitiesButton.hidden = NO;
}
if([[ListingsEnabled objectAtIndex:0]intValue]==1) {
ListingsBtn.hidden = NO;
}
if([[OffersEnabled objectAtIndex:0]intValue]==1) {
OffersBtn.hidden = NO;
}
CGFloat scrollViewHeight = 0.0f;
self.DetailScrollView.showsHorizontalScrollIndicator = NO;
self.DetailScrollView.showsVerticalScrollIndicator = NO;
for (UIView* view in self.DetailScrollView.subviews)
{
if (!view.hidden)
{
CGFloat y = view.frame.origin.y;
CGFloat h = view.frame.size.height;
if (y + h > scrollViewHeight)
{
scrollViewHeight = h + y;
}
}
}
self.DetailScrollView.showsHorizontalScrollIndicator = YES;
self.DetailScrollView.showsVerticalScrollIndicator = YES;
[self.DetailScrollView setContentSize:(CGSizeMake(self.DetailScrollView.frame.size.width, scrollViewHeight))];