Giter VIP home page Giter VIP logo

Comments (11)

wwmz avatar wwmz commented on May 17, 2024

在cell复用时候越来越大 wBannerControlSelectMargin 属性累加了

看了下没有累加哦 你是cell初始化的时候加上去的吗

from wmzbanner.

wangchaoya avatar wangchaoya commented on May 17, 2024

用的懒加载方式,可能表达有误,是pagecontrol的dot的frame越来越大,造成看着离的越来越远,原因是 pagecontrol的frame 第二次时候已经不是你初始化的原来frame了,我在- (void)resetCollection{
self.bannerControl.frame = CGRectMake((self.bounds.size.width - 60)/2 , self.bounds.size.height - 30,60, 30);
self.bannerControl.numberOfPages = self.data.count;
self.bannerControl.hidden = self.param.wHideBannerControl;
if (self.data.count == 1) {
self.bannerControl.hidden = YES;
}
第一行加了下代码 就没问题了

from wmzbanner.

wangchaoya avatar wangchaoya commented on May 17, 2024

cell 里面使用该控件的代码

if (!kArrayIsEmpty(model.selectImage)) {
    self.param.wDataSet([model.selectImage valueForKeyPath:@"imgPath"]);
    BOOL hasOne = (self.param.wData.count == 1) ;
    CGFloat height = hasOne ? CYScaleW_Precise(240) : CYScaleW_Precise(240 + 26);
    [self.contentV mas_updateConstraints:^(MASConstraintMaker *make) {
        make.height.mas_equalTo(height).priorityHigh();
    }];
    self.contentV.hidden = false;
    self.param.wSelectIndexSet(model.currentPageIndex);
    self.param.wRepeatSet(hasOne ? false : true);
}else{
    self.param.wDataSet(@[]);
    [self.contentV mas_updateConstraints:^(MASConstraintMaker *make) {
        make.height.mas_equalTo(0).priorityHigh();
    }];
    self.contentV.hidden = true;
}
[self.cycleView updateUI];


//    [self.cycleView makeScrollViewScrollToIndex:model.currentPageIndex];

}

  • (WMZBannerView *)cycleView{

    if (!_cycleView) {
    _cycleView =[[WMZBannerView alloc] initConfigureWithModel:self.param] ;
    // _cycleView.delegate = self;
    }
    return _cycleView;

}

  • (WMZBannerParam *)param{

    if (!_param) {
    _param =[[WMZBannerParam alloc] init] ;
    _param.wBannerControlColorSet(UIColorHex(d8d8d8));
    _param.wBannerControlSelectColorSet(NLMainColor);
    _param.wRepeatSet(YES);
    _param.wFrameSet(CGRectMake(0, 0, CYScreenW, CYScaleW_Precise(240)));
    _param.wPlaceholderImageSet(@"mine_dynamic_4");
    // _param.wBannerControlImageSizeSet(CGSizeMake(10, 10));
    // _param.wBannerControlSelectImageSizeSet(CGSizeMake(10, 10));
    _param.wBannerControlSelectMarginSet(10);
    _param.wCustomControl = ^(UIControl *pageControl) {
    pageControl.cy_y = CYScaleW_Precise(240);
    };

    }
    return _param;

}

from wmzbanner.

wwmz avatar wwmz commented on May 17, 2024

cell 里面使用该控件的代码

if (!kArrayIsEmpty(model.selectImage)) {
    self.param.wDataSet([model.selectImage valueForKeyPath:@"imgPath"]);
    BOOL hasOne = (self.param.wData.count == 1) ;
    CGFloat height = hasOne ? CYScaleW_Precise(240) : CYScaleW_Precise(240 + 26);
    [self.contentV mas_updateConstraints:^(MASConstraintMaker *make) {
        make.height.mas_equalTo(height).priorityHigh();
    }];
    self.contentV.hidden = false;
    self.param.wSelectIndexSet(model.currentPageIndex);
    self.param.wRepeatSet(hasOne ? false : true);
}else{
    self.param.wDataSet(@[]);
    [self.contentV mas_updateConstraints:^(MASConstraintMaker *make) {
        make.height.mas_equalTo(0).priorityHigh();
    }];
    self.contentV.hidden = true;
}
[self.cycleView updateUI];


//    [self.cycleView makeScrollViewScrollToIndex:model.currentPageIndex];

}

  • (WMZBannerView *)cycleView{
    if (!_cycleView) {
    _cycleView =[[WMZBannerView alloc] initConfigureWithModel:self.param] ;
    // _cycleView.delegate = self;
    }
    return _cycleView;

}

  • (WMZBannerParam *)param{
    if (!_param) {
    _param =[[WMZBannerParam alloc] init] ;
    _param.wBannerControlColorSet(UIColorHex(d8d8d8));
    _param.wBannerControlSelectColorSet(NLMainColor);
    _param.wRepeatSet(YES);
    _param.wFrameSet(CGRectMake(0, 0, CYScreenW, CYScaleW_Precise(240)));
    _param.wPlaceholderImageSet(@"mine_dynamic_4");
    // _param.wBannerControlImageSizeSet(CGSizeMake(10, 10));
    // _param.wBannerControlSelectImageSizeSet(CGSizeMake(10, 10));
    _param.wBannerControlSelectMarginSet(10);
    _param.wCustomControl = ^(UIControl *pageControl) {
    pageControl.cy_y = CYScaleW_Precise(240);
    };
    }
    return _param;

}

哦 你这是在cell的时候调用了刷新是吧。 是的 那就重新需要reset的时候再设置一下control的frame可解决

from wmzbanner.

wangchaoya avatar wangchaoya commented on May 17, 2024

是的,我的cell里面都是这种轮播图,数据每行都会变,怎么重新设置frame 用哪个方法啊_param.wCustomControl = ^(UIControl *pageControl) {
pageControl.cy_y = CYScaleW_Precise(240);
};这个么

from wmzbanner.

wangchaoya avatar wangchaoya commented on May 17, 2024

或者是我使用姿势有误吗,在tableviewcell 复用时候,每个控件数据不同情况下,我该调用updateUI吗

from wmzbanner.

wwmz avatar wwmz commented on May 17, 2024

或者是我使用姿势有误吗,在tableviewcell 复用时候,每个控件数据不同情况下,我该调用updateUI吗

cell的时候使用少 应该是要调用的updateUI的 用你加的那个代码就行了 wCustomControl应该不行

from wmzbanner.

wangchaoya avatar wangchaoya commented on May 17, 2024

下次更新可以把代码带上吗,我现在用改源码方式使用

from wmzbanner.

wwmz avatar wwmz commented on May 17, 2024

下次更新可以把代码带上吗,我现在用改源码方式使用

GitHub带上了 pod还没更新

from wmzbanner.

wangchaoya avatar wangchaoya commented on May 17, 2024

好的,辛苦了

from wmzbanner.

wangchaoya avatar wangchaoya commented on May 17, 2024

from wmzbanner.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.