ios - SDScrollview与Masonry配合使用无法显示轮播器?
伊谢尔伦
伊谢尔伦 2017-04-17 18:01:34
0
1
713

我想实现的效果是这样的:
首页上显示一个轮播器,轮播器用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注释掉,可以显示出图片的底边

如何解决?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답(1)
Ty80

으아악

이러한 캐러셀 이미지는 상단에 고정되어 있습니다. 캐러셀 이미지를 테이블뷰와 함께 슬라이드하려면 캐러셀 이미지를 테이블뷰의 헤더로 사용하고 캐러셀 이미지의 프레임을 설정하면 됩니다.

masonry를 사용할 때 make.right.equalTo(self.view)는 뷰의 오른쪽을 왼쪽으로 제한합니다.
make.top.left.bottom.right.equalTo(self.view)라면 UIEdgeinsets에 해당하는 위치인 것 같아요

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿