2013-03-14 233 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