Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【Feature】重构了 WMStickyPageViewController,拥有更出色的效果及更少的侵入性,并且更加易用。 #531

Merged
merged 9 commits into from
Jul 2, 2018

Conversation

wanhmr
Copy link
Contributor

@wanhmr wanhmr commented Jul 1, 2018

参考了 MXSegmentedPager 的实现方式。

  1. 拥有更出色的效果以及更加易用;
  2. 减少了对项目的侵入性。

更新 podsepc 文件,使用新版语法,去掉不必要的代码
重构 StickPageController ,更易使用。
修正由于没有过滤 WMScrollView 导致的滑动异常
重命名 WMStickyPageViewController 为 WMStickyPageVController 以统一命名
WMStickyPageControllerDelegate 协议的代理方法使用 WMStickyPageController
修复 Podfile 文件错误
去掉 Xcode 警告,WARN  | xcodebuild:  WMPageController/WMPageController/WMMenuView/WMMenuView.m:85:47: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
@SunShineLOL
Copy link

我下载并运行了你的demo,在WMStickyPageController.h中是否可以将

@property(nonatomic, strong) WMMagicScrollView *contentView;

暴露到.h文件中设置只读模式?我想设置 contentView 的某些属性 通过

UIScrollView *scrollView = (UIScrollView *)self.view; 

得到 contentView总是感觉不方便,或者在某些情况下self.view并不是我们想要的UIScrollView 这样可能会导致一些意想不到的问题.

@wangmchn wangmchn merged commit cb4f48f into wangmchn:master Jul 2, 2018
@liuaaaddxiaoer
Copy link

这个没下拉刷新控件了啊

@wanhmr
Copy link
Contributor Author

wanhmr commented Jul 4, 2018

@liuaaaddxiaoer 下拉刷新控件你可以添加到最外层的 UIScrollView, 如 @SunShineLOL 所示 ,然后把刷新事件传递给子控制器。目前网易云及其他主流应用都是这么去实现。而不能添加到每个子控制器上了,因为这是互斥的。

如果你需要每个子控制都可以刷新,那么还是使用原来的方案吧(查看 git commit 记录),其实我是更中意目前的方案的。

@wanhmr
Copy link
Contributor Author

wanhmr commented Jul 4, 2018

@SunShineLOL 嗯,你可以按照你的需求自己去实现哦,我这个基本只算是一个 DEMO 啦。

@SunShineLOL
Copy link

是可以给子控制器添加下拉刷新的,需要将父类的scrollView的回弹效果关闭就可以了,这句代码或许对你有帮助:
scrollView.bounces=NO

@wanhmr
Copy link
Contributor Author

wanhmr commented Jul 5, 2018

@SunShineLOL 👍

@diaotongt
Copy link

你修改的是带头视图的那个(标题下是tableViewHeadview,然后是标题分类栏) 还是没有头视图的(导航栏下面就是分类栏) ????

@SunShineLOL
Copy link

@diaotongt @liuaaaddxiaoer
将WMMagicScrollView的bounces属性设置成NO,就关闭了回弹效果.既可实现标签页的下拉刷新.

这是我修改WMStickyPageController.m文件的代码,希望对你们有帮助

#pragma mark - setter & getter

- (WMMagicScrollView *)contentView {
    if (!_contentView) {
        _contentView = [WMMagicScrollView new];
        _contentView.delegate = self;
        _contentView.bounces = NO;//关闭回弹效果
    }
    return _contentView;
}

你也可以这样做
在继承于WMStickyPageController的子类中实现:

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    UIScrollView *scrollView = (UIScrollView *)self.view;
    scrollView.bounces = NO;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants