我想实现的效果是这样的:
首页上显示一个轮播器,轮播器用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注释掉,可以显示出图片的底边
如何解决?
으아악
이러한 캐러셀 이미지는 상단에 고정되어 있습니다. 캐러셀 이미지를 테이블뷰와 함께 슬라이드하려면 캐러셀 이미지를 테이블뷰의 헤더로 사용하고 캐러셀 이미지의 프레임을 설정하면 됩니다.
masonry를 사용할 때 make.right.equalTo(self.view)는 뷰의 오른쪽을 왼쪽으로 제한합니다.
make.top.left.bottom.right.equalTo(self.view)라면 UIEdgeinsets에 해당하는 위치인 것 같아요