在引用第三方库MXPrallaxHeader时的一些经历(做个记录)

Question :

  • 2015-12-31 20:40:57.421 Ipone[2864:82763] -[MXViewController parallaxHeader]: unrecognized selector sent to instance 0x7a065450
  • 2015-12-31 20:40:57.425 Ipone[2864:82763] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MXViewController parallaxHeader]: unrecognized selector sent to instance 0x7a065450’


上述问题是最让我头疼的,遇到过无数次,除了运气好之外,大部分这类问题最终都不了了之了,ok,这次在各种解决办法似乎都试过了之后,仍然不想放弃,所以继续研究。


问题出在哪儿呢?断点后发现,当在viewController里调用自定义的UIView类的方法时,出错了,也就是这一句

self.parallaxHeader.view = [MxHeaderView instanciateFromNib];


经过验证,发现是因为三方库导入不完全,所以属低级错误,事发后已赶紧吃药!


库文件中的一些理解

@property (nonatomic, strong, nullable, readonly) MXParallaxHeader *parallaxHeader;

而MXParallaxHeader类相当于UIScrollView的视差头部,继承与NSObject.

它的属性有 contentView:UIScrollView的内容视图

view:头部视图

height:头部视图的高度

minimumHeight:头部视图滑动时的最小高度

progress:视差头的进度值

继承自MXParallaxHeaderMode的mode属性:视差头的行为状态



最终,效果终于实现了。

总的来说,MXScrollViewController库的引用,需理解其结构为:


要注意NavigationController和要引用的库的关系。


其他一些小问题,当NavigationController继承了MXScrollViewController时,除了将初始启动界面调整外,还别忘了Storyboard Segue的设置,设置Class为MXScrollViewControllerSegue,否则可能会黑屏。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值