2013-03-14 114 views
-1

我子类UIScrollView并添加了一些方法和属性,我想在UITableView上使用。是否有可能使表视图继承自我的自定义scrollView而不是UIScrollView?子类继承

+0

问题是Apple控制'UITableView'源代码,而不是你。 – 2013-03-14 14:37:56

+0

是的,我知道,我只是想知道是否有方法来绕过这个黑客或东西 – 2013-03-14 14:39:10

+0

我不知道(现在不能检查,因为没有与我的Mac),我在这里做了什么,我在这里写了一些东西并在1分钟内获得了5次降薪。请看看:http://www.keepandshare.com/doc/5984111/tablemultiplescrolls-zip-95k?da=y – 2013-03-14 14:41:46

回答

2

Objective-C的一个强大功能是类别。

摘自Objective-C: Categories

作为替代子类,Objective-C的类别提供一 装置方法添加到一个类。有趣的是,通过某个类别添加的任何方法都可以成为类别 定义的一部分,可以这么说。换句话说,如果您向NSString类添加方法,则NSString的任何实例或子类都将具有 访问权限。

0

您应该可以扩展UIScrollView。在扩展范围(或类别)范围内,扩展也应适用于所有的子类。但是,我从来没有尝试过。

不能继承UIScrollView(比方说,一个名为MyScrollView),然后将现有UITableView子类子类MyScrollView代替UIScrollView。但延伸UIScrollView应该工作。

但是,如果您在扩展MySuperView中提供了一个方法abc,而UITableView也实现了abc,那么将调用UITableView的abc。 因此,我并不真正看到这种构造的优点,而不是直接扩展或继承UITableView。

+0

我可以使我的UIScrollView类别符合UIScrollViewDelegate? – 2013-03-14 14:51:53

+0

再一次,我从来没有做过,但是,为什么不呢?所以你要建立一个视图对象来充当自己的委托? – 2013-03-14 16:53:12