2011-03-07 68 views
1

我正在使用一個庫,它是從UIView繼承的類。我如何以編程方式創建使用此類的UIViewController,而不是普通的UIView?具有UIView繼承類的UIViewController,編程

的視圖控制器的.h文件中看起來如下:

#import <UIKit/UIKit.h> 
#import "PLView.h" 

@interface HelloPanoramaViewController : UIViewController { 
IBOutlet PLView * plView; 
} 

@property (nonatomic, retain) IBOutlet PLView *plView; 

@end 

.m文件如下:

#import "HelloPanoramaViewController.h" 

@implementation HelloPanoramaViewController 

@synthesize plView; 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do stuff here... 
} 

- (void)dealloc 
{ 
    [plView release]; 
    [super dealloc]; 
} 

@end 

然後我就應該用筆尖,讓「plView變量指向視圖」。 但是,如果不使用Interface Builder,我將如何以編程方式執行此操作?我怎麼能讓這個UIViewController創建一個PLView,而不是一個UIView?

+0

僅供參考,如果你不知道,你其實可以做IB,以及通過改變你的主要的「類」屬性UIView在你的筆尖是所需的類名。 – occulus 2011-03-07 17:35:43

回答

0

在您創建的viewController,還可以創建自定義視圖的一個實例,然後該視圖設置爲您控制器的觀點的地方:

HelloPanoramaViewController *controller = [[HelloPanoramaViewController alloc] init]; 
PLView *view = [[PLView alloc] init]; 
controller.view = view; 
3

UIViewController中會的東西,看起來像

#import "HelloPanoramaViewController.h" 

@implementation HelloPanoramaViewController 

- (void)loadView 
{ 
    self.view = [PLView plview]//or whatever it takes to create the plview. 
} 

- (void)viewDidLoad 
{ 
    //create more objects 
} 

- (void)viewDidUnload 
{ 
    //release unwanted objects that were created viewDidLoad 
} 

-(void) dealloc 
{ 
    // release all 
    [super dealloc]; 
} 
@end 

的詳細信息... here