2013-02-12 32 views
2

Cocoa/Objective-C noob here。viewDidLoad在UITextView子類中?

我正在研究一個簡單的應用程序,以瞭解更多有關iOS開發的內容,並且我正在努力查看UITextView的子類是如何調用viewDidLoad方法的。

我將UITextView轉爲CMTextView

使用故事板,我在窗口中有一個CMTextView

CMTextView.m,我有以下幾點:

#import "CMTextView.h" 

@interface UITextView() 

- (id)styleString; 

@end 

@implementation CMTextView 

- (id)styleString { 
    return [[super styleString] stringByAppendingString:@"; line-height: 1.1em"]; 
} 

- (void)viewDidLoad { 
    NSLog(@"LOADED!"); // not doing anything... 
} 

我沒有做任何幻想添加此作爲我的窗口的子視圖,但我認爲故事板做一下嗎?

有沒有人有任何建議?

+3

你的UIView子類和子類的UIViewController之間撲朔迷離 – 2013-02-12 08:42:43

回答

4

以上的答案是正確的,如果你手動初始化UITextView。如果從筆尖加載它們,則需要覆蓋-awakeFromNib方法。

-(void)awakeFromNib 
{ 
    [super awakeFromNib]; // Don't forget to call super 

    //Do more intitialization here 
} 


如果你要處理的大小調整還覆蓋-layoutSubviews方法

5

viewDidLoadUIViewControllerUIView/UITextView

的方法,如果你想要做的任何初始化,然後把它放在initWithFrame:

2

viewDidLoadUIViewController方法(見here)。

UIKit確保viewDidLoad在適當的時候叫,當你創建一個視圖控制器的看法,但它沒有作用在UIViewUITextView玩。

通常,您在initWithFrame時間準備好您的視圖。

1

一個視圖永遠不會有方法viewDidLoad。 有些方法僅限於視圖控制器,viewDidLoad就是其中之一。

的視圖的方法構造函數是

-(id)init; 
-(id)initWithFrame; 
相關問題