SDScrollview与Masonry配合使用无法显示轮播器?

发布于 2022-09-02 15:54:47 字数 1409 浏览 17 评论 0

我想实现的效果是这样的:
首页上显示一个轮播器,轮播器用Masonry实现,轮播器下面是一个tableview,并且用Masonry进行自动布局。
UI用代码实现。

NSArray* imageNames = @[@"checked", @"test1"];
_vCycleScrollView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectMake(0, 64, self.view.bounds.size.width, 180) imageNamesGroup:imageNames];
[self.view addSubview:_vCycleScrollView];
[_vCycleScrollView mas_makeConstraints:^(MASConstraintMaker* make){
    make.top.equalTo(self.view);
    make.left.equalTo(self.view);
    make.right.equalTo(self.view);
    make.width.equalTo(self.view.mas_width);
}];

_vCategoryTableView = [[UITableView alloc] init];
_vCategoryTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
_vCategoryTableView.delegate = self;
_vCategoryTableView.dataSource = self;
[self.view addSubview:_vCategoryTableView];
[_vCategoryTableView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.left.equalTo(self.view);
    make.top.equalTo(_vCycleScrollView).with.offset(10);
    make.width.mas_equalTo(self.view.mas_width);
    make.height.equalTo(self.view);
}];

图片描述

轮播器完全显示不出来。

如果单把scrollview的constraint注释掉,可以显示出图片的底边
图片描述

如何解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青朷 2022-09-09 15:54:47
[_vCycleScrollView mas_makeConstraints:^(MASConstraintMaker* make){
    make.top.equalTo(self.view.mas_top);
    make.left.equalTo(self.view.mas_left);
    make.right.equalTo(self.view.mas_right);
    make.height.equalTo(@168);
}];
[_vCategoryTableView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.left.equalTo(self.view.mas_left);
    make.right.equalTo(self.view.mas_right);
    make.top.equalTo(_vCycleScrollView.mas_bottom).with.offset(10);
    make.bottom.equalTo(self.view.mas_bottom);
}];

这样的轮播图是固定在顶部的,如果你要让轮播图随tableview滑动,那么,你可以把轮播图当作tableview的header,且设置好轮播图的frame。

我使用masonry的时候,make.right.equalTo(self.view),会让right约束到view的left。
如果是make.top.left.bottom.right.equalTo(self.view)就是正确的位置,我猜测是对应到UIEdgeinsets上

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文