2012-08-07 80 views
0

我想要創建一個UIView,它將在用戶操作時出現在幾個不同的UIViewControllers中。例如,一個「How To」彈出式視圖,只要用戶點擊「?」按鈕它彈出持有關於用戶感興趣的具體行動的相關信息。該視圖也可能具有其他元素,如「完成」按鈕和將保存文本等的UITextView ...帶有分隔的.h,.m和xib文件的UIView

直觀上,它讓我想到用.h,.m和xib文件創建一個單獨的UIView,並讓每個UIViewController需要這個UIView將簡單地分配+ init它並且執行[self.view addSubView:flexUIView]或者將其插入到動畫中。那麼...它不工作...

我找不到任何教程,解釋如何做這樣的事情。

是否有人熟悉這種方法,並有一些方向?

如果不是,那麼這種情況的常見方法是什麼?

回答

1

Alloc init不會像在ViewControllers中那樣加載自定義UIView的筆尖。 你應該使用的alloc初始化後,下面的代碼

假設你有CustomView.h,CustomView.m,CustomView.xib

 NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomView" owner:self options:nil]; 
    yourView = (CustomView *)[nib objectAtIndex:0]; 
+0

謝謝Afsal。那樣做了... – 2012-08-07 10:36:35

0

我也發現了這個教程,也有一個鏈接到負載的筆尖項目文件,它提供了關於如何做到這一點更好的主意:

Creating Reusable UIViews

0

這裏有一個教程,我寫了與的.xib,.H,.m文件創建自定義的UIView。我添加了兩個示例項目,其中顯示了Interface Builder和編程方法。

https://github.com/PaulSolt/CompositeXib