我想創建一些控件以通過代碼使用,這樣我就不會在任何地方重複代碼。 我的意思是,我需要創建自定義的控制和viewcontrollers內使用在應用程序中使用的常見UI控件
例如:
- 的UITextField,顯示內部
- 的UITextField在觸摸日期選擇器彈出與搜索鍵
任何想法如何做到這一點
我想創建一些控件以通過代碼使用,這樣我就不會在任何地方重複代碼。 我的意思是,我需要創建自定義的控制和viewcontrollers內使用在應用程序中使用的常見UI控件
例如:
任何想法如何做到這一點
如果你打算在你的應用程序中經常使用這樣的控件,你可以做一個輔助類用類和實例方法來繪製你需要的控件,並在你調用方法時返回它。
#import <Foundation/Foundation.h>
@interface CustomControls : NSObject
//declare your methods
@end
的UITextField與搜索鍵
這是一個很好的例子開始。我會反覆加載一個nib文件來解決這類問題。每當你這樣做時,你都會得到一份新內容。
創建一個包含視圖的新接口文件(.xib)。使視圖不可見(背景顏色=清除顏色)。把你的文本框和搜索按鈕放入它。現在,您每次加載.xib文件時,都會看到一個無人能看到的視圖(包含在.xib中的視圖),其中包含文本框和搜索按鈕,它們可以可以看到。
當我說「加載的.xib文件」我說的是這樣的事情:
NSArray* objs = [[NSBundle mainBundle] loadNibNamed:@"MyNib" owner:self options:nil];
現在objs[0]
是從筆尖的一個頂級的UIView的副本!現在你可以使用addSubview:
或其他任何東西將UIView粘貼到你的界面中。
所以,如果我需要創建uitexfield自定義,我會創建一個方法返回它,對吧?!但是我有一個表單,包含已經uitextfield – AMH 2013-04-08 00:53:17
您可以創建一個'xib'文件並在您的代碼中隨時調用它。所以你做了一次,並多次使用它;) – Malloc 2013-04-08 00:54:50