SDCycleScrollView的使用

毕衡
2023-12-01

//数据

@property (nonatomic) NSArray<NSDictionary<NSString *, NSString *> *> *bannerDatas;


- (NSArray<NSDictionary<NSString *, NSString *> *> *)bannerDatas {
    if (nil == _bannerDatas) {
        NSData *data = [[[FIRRemoteConfig remoteConfig] configValueForKey:@"banner_config"] dataValue];
        if (data.length) {
            _bannerDatas = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
        }
    }
    return _bannerDatas;
}



#pragma mark - SDCycleScrollViewDelegate
- (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index {
    NSURL *url = [NSURL URLWithString:[[self.bannerDatas objectAtIndex:index] objectForKey:@"actionUrl"]];
    [[UIApplication sharedApplication] openURL:url options:nil completionHandler:nil];
}

//布局

#import <SDCycleScrollView/SDCycleScrollView.h>

@property (nonatomic) UIView *bannerView;




- (UIView *)bannerView {
    if (NO == _bannerView) {
        SDCycleScrollView *cycle = [SDCycleScrollView cycleScrollViewWithFrame:CGRectZero delegate:self placeholderImage:nil];
        cycle.imageURLStringsGroup = [self.bannerDatas valueForKeyPath:@"imgUrl"];
        _bannerView = cycle;
        
    }
    return _bannerView;
}




    self.tableView.tableHeaderView = self.bannerView;



- (void)updateViewConstraints {
    [super updateViewConstraints];
    [self.bannerView mas_updateConstraints:^(MASConstraintMaker *make) {
        make.size.mas_equalTo(CGSizeMake(self.tableView.bounds.size.width, 135.0f));
    }];
}
[{"imgUrl":"https://cdn.kikakeyboard.com/picture/ios_keyboard/banner/diy_banner2x.png","actionUrl":"kika://custom"},

{"imgUrl":"https://cdn.kikakeyboard.com/picture/ios_keyboard/banner/avatar_banner2x.png","actionUrl":"kika://avatars"},

{"imgUrl":"https://cdn.kikakeyboard.com/picture/ios_keyboard/banner/sticker_banner2x.png","actionUrl":"kika://sticker"}]




·
 类似资料: