ios – 没有委托方法的缩放UIScrollView的子类

ios – 没有委托方法的缩放UIScrollView的子类,第1张

概述我想实现一个UIScrollView子类来呈现一些自定义格式化的内容.我只是设置滚动视图的模型对象属性,它处理所有必需的布局和渲染以显示内容. 这很好,但现在我想包括缩放.根据文档,为了支持缩放,您必须设置委托并实现viewForZoomingInScrollView:方法.我想我可以将委托设置为滚动视图本身并在子类中实现该方法.但这样做我将失去拥有外部委托(如封装UIViewController 我想实现一个UIScrollVIEw子类来呈现一些自定义格式化的内容.我只是设置滚动视图的模型对象属性,它处理所有必需的布局和渲染以显示内容.

这很好,但现在我想包括缩放.根据文档,为了支持缩放,您必须设置委托并实现vIEwForZoomingInScrollVIEw:方法.我想我可以将委托设置为滚动视图本身并在子类中实现该方法.但这样做我将失去拥有外部委托(如封装UIVIEwController)的能力,可以通知滚动事件.

假设文档是正确的,并且绝对没有(记录)方法在没有代理的情况下实现缩放,我怎么还能保留定期,无关委托的可能性?

解决方法 我滥用了这个事实,我是一个子类(故意:P).所以你可以破解它.真的很糟糕,我应该对提出这个解决方案感到不舒服.

@interface MyHackishScrollVIEw: UIScrollVIEw {    ID <uiscrollviewdelegate> ownDelegate;}@end@implementation MyHackishScrollVIEw- (voID)setDelegate:(ID <uiscrollviewdelegate>)newDel{    ownDelegate = newDel;    [super setDelegate:self];}- (UIVIEw *)vIEwForScrollingInScrollVIEw:(UIScrollVIEw *)sv{    return whateverYouWant;}// and then implement all the delegate methods// something like this:- (voID)scrollVIEwDIDScroll:(UIScrollVIEw *)sv{    [ownDelegate scrollVIEwDIDScroll:self];}// etc.@end
总结

以上是内存溢出为你收集整理的ios – 没有委托方法的缩放UIScrollView的子类全部内容,希望文章能够帮你解决ios – 没有委托方法的缩放UIScrollView的子类所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1056740.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存