gpt4 book ai didi

iOS:自动布局导致 UIScrollView 不滚动

转载 作者:技术小花猫 更新时间:2023-10-29 10:29:41 25 4
gpt4 key购买 nike

我已经设置了一个 UIScrollView,我想用它水平显示 12 张图像(只有 8 张适合屏幕)。在下图中,您可以看到我遇到的问题(这使我的 ScrollView 无法滚动)、我的约束以及我在 Storyboard上添加的 UIScrollView:

Screenshot of storyboard showing constraints

我在 -(void)viewDidLoad 上调用了以下方法,我在其中“设置”了我的 ScrollView (itemList 是我的 ScrollView 属性,itemNames 是一个包含图像名称的数组):

- (void)setupHorizontalScrollView
{
self.itemList.delegate = self;
[self.itemList setTranslatesAutoresizingMaskIntoConstraints:NO];

[self.itemList setBackgroundColor:[UIColor blackColor]];
[self.itemList setCanCancelContentTouches:NO];

self.itemList.indicatorStyle = UIScrollViewIndicatorStyleWhite;
self.itemList.clipsToBounds = NO;
self.itemList.scrollEnabled = YES;
self.itemList.pagingEnabled = NO;

NSInteger tot=0;
CGFloat cx = 0;
for (; ; tot++) {
if (tot==12) {
break;
}

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[self.itemNames objectAtIndex:tot]]];

CGRect rect = imageView.frame;
rect.size.height = 40;
rect.size.width = 40;
rect.origin.x = cx;
rect.origin.y = 0;

imageView.frame = rect;
[self.itemList addSubview:imageView];
cx += imageView.frame.size.width;
}

[self.itemList setContentSize:CGSizeMake(cx, [self.itemList bounds].size.height)];
}

我添加了 [self.itemList setTranslatesAutoresizingMaskIntoConstraints:NO];因为我在其他帖子上看到了这个建议,但不管有没有它都不起作用。唯一可行的方法是,如果我在 Storyboard上取消选中使用 AutoLayout,但这会将我用作导航栏的 UIImageView 移动到屏幕底部。我不知道该怎么做了,感谢任何帮助:)

最佳答案

尝试在保持自动布局设置的情况下设置 ScrollView 的内容大小 int“viewDidLayoutSubviews”方法。

-(void)viewDidLayoutSubviews
{
[self.itemList setContentSize:CGSizeMake(required_width, required_height)];
}

关于iOS:自动布局导致 UIScrollView 不滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18006780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com