房间心愿除了特效礼物都完成了

This commit is contained in:
fengshuo
2022-10-20 18:36:38 +08:00
parent 9fdf1d7a07
commit b93d46fb3f
28 changed files with 618 additions and 125 deletions

View File

@@ -67,6 +67,8 @@
@property (nonatomic,strong) GiftInfoModel *lastSelectGift;
@property (nonatomic, assign) NSInteger selectIndex;
///page
@property (nonatomic,assign) NSInteger selectCurrentPage;
@end
@implementation XPGiftInfoView
@@ -125,6 +127,7 @@
}
}
#pragma mark - Private Method
- (void)initSubViews {
@@ -250,9 +253,11 @@
#pragma mark - scrollviewdelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat offX = scrollView.contentOffset.x;
CGFloat width = CGRectGetWidth(scrollView.frame);
self.pageController.currentPage = ceilf(offX/width);
if (scrollView == self.giftcollectionView) {
CGFloat offX = scrollView.contentOffset.x;
CGFloat width = CGRectGetWidth(scrollView.frame);
self.pageController.currentPage = ceilf(offX/width);
}
}
#pragma mark - UICollectionViewDelegate And UICollectionDatasource
@@ -364,14 +369,20 @@
[self.datasource addObjectsFromArray:self.giftArray];
break;
}
NSInteger currentPage = 0;
if (self.datasource.count > 0) {
if (self.defaultSelectGiftId.length) {
for (GiftInfoModel * gift in self.datasource) {
if (gift.giftId == [self.defaultSelectGiftId integerValue]) {
[self dealSelectGift:gift];
self.selectIndex = [self.datasource indexOfObject:gift];
}
}
for (int i = 0 ; i <self.datasource.count; i++) {
GiftInfoModel * gift = [self.datasource objectAtIndex:i];
if (gift.giftId == [self.defaultSelectGiftId integerValue]) {
[self dealSelectGift:gift];
self.selectIndex = [self.datasource indexOfObject:gift];
NSInteger page = i / 8;
currentPage = page;
break;
}
}
} else {
GiftInfoModel * gift = [self.datasource firstObject];
[self dealSelectGift:gift];
@@ -385,9 +396,9 @@
}
self.pageController.hidden = page <= 1 || _segmentType == GiftSegmentType_WeekStar;
[self.pageController setNumberOfPages:page];
self.pageController.currentPage = 0;
self.pageController.currentPage = currentPage;
self.selectCurrentPage = currentPage;
[self.giftcollectionView reloadData];
if (self.delegate && [self.delegate respondsToSelector:@selector(xPGiftInfoView:didClickSegment:)]) {
[self.delegate xPGiftInfoView:self didClickSegment:_segmentType];
}
@@ -395,6 +406,10 @@
if (self.segmentType != GiftSegmentType_Graffiti && self.delegate && [self.delegate respondsToSelector:@selector(xPGiftInfoView:didClickItem:type:)]) {
[self.delegate xPGiftInfoView:self didClickItem:self.lastSelectGift type:_segmentType];
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self.giftcollectionView setContentOffset:CGPointMake(self.selectCurrentPage * KScreenWidth, 0) animated:NO];;
});
}
- (void)setNormalOriginArray:(NSArray *)normalOriginArray {

View File

@@ -63,7 +63,6 @@
}
- (void)initSubViewConstraints {
self.backgroundColor = [UIColor redColor];
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(0);
make.left.right.mas_equalTo(self).inset(10);