2012-01-20 112 views
0

我試圖爲AnnotationView製作自定義標註視圖。我見過this answer,似乎是一個很好的解決方案(它的工作原理)。我試圖從nib文件加載一個UIView,然後UIView出現,但是他的按鈕不起作用,不會被推送。如何添加從nib文件加載的自定義CalloutView

有沒有辦法做到這一點?我怎樣才能從一個nib文件加載UIView並獲得按鈕的工作? 或者,也許任何人都可以幫助我找到一個好的解決方案。

感謝

下面的代碼我使用的是:提前

- (void)setSelected:(BOOL)selected animated:(BOOL)animated 
{ 
    [super setSelected:selected animated:animated]; 

    if(selected) 
    { 
     //Add custom view to self... 
     calloutView = [[[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil] objectAtIndex:0]; 
     [self addSubview:calloutView]; 
    } 
    else 
    { 
     //Remove custom view... 
     if (calloutView) { 
      [calloutView removeFromSuperview]; 
     } 
    } 
} 

感謝

+0

拋出一個'的NSLog(@ 「我標註的觀點是:%@」,calloutView)'只是在從筆尖加載視圖的行之後,確保它獲得正確的對象。 – Tim

+0

是的,它是同一個對象,是一個實例var .. – Frade

回答

0

爲您定製的UIView應該有一個後盾UIView類筆尖(MyCustomView.h/.M )。在Interface Builder中,您需要將身份檢查器下的自定義類值設置爲您的自定義類。完成此操作後,通過將連接(可能會觸及內部)從底部拖動到對象部分下的主視圖(不是文件的所有者,因爲您可能習慣於),將鉤子中的UIButton連接到所需的IBAction上, 。

希望幫助

〜好運

+0

也許我沒有弄清楚自己。問題不在於調用IBAction。問題是這些按鈕不可觸摸。如果我將presentModalViewController的'UIViewController'與他的視圖設置爲相同的calloutView,則它們的按鈕是可以接受的。 – Frade

相關問題