2012-01-12 66 views
1

我正在嘗試將一個手勢識別器添加到名爲「MenuItem」的類中,該類是UIImageView的一個子類。如何在UIImageView子類中添加「viewDidLoad」類方法?

我使用Storyboard來佈局我的UIImageViews的位置,然後將它們的類分配給MenuItem。而不是通過Storyboard在每個MenuItem上添加UIPanGestureRecognizer,我寧願在代碼中做它。

所以我想我有點什麼添加某種「viewDidLoad」類到我的MenuItem,但我不知道如何。任何想法,將不勝感激。謝謝

回答

2

你可能只是想在UIView的適當的init方法中添加識別器。在這種情況下,你是從內InterfaceBuilder的創建它們,因此重寫適當的方法是:

- (id)initWithCoder:(NSCoder *)coder { 
    self = [super initWithCoder:coder]; 
    if (self) { 
     // add gesture recognizers 
    } 
    return self; 
} 
+0

這不會是如果手勢識別需要調用視圖控制器上的方法來工作。 – 2012-01-12 21:12:31

+0

在父視圖控制器處理動作的情況下,您可以在viewDidLoad中添加一些代碼來搜索MenuItem的所有實例並添加識別器。這當然假定每個MenuItem的操作方法都是相同的。 – nickbona 2012-01-12 21:44:39

+0

這適用於我的代碼。我最初做了你剛剛提到的,我在viewDidLoad中使用了for循環來在ViewController子視圖中查找MenuItem的實例,然後在每個子視圖上運行一個setup方法。 initWithCoder然而更清潔。謝謝! – user339946 2012-01-12 21:48:00