2011-09-15 11 views
2

初めてUIToolbarをサブクラス化して、カスタムUIBarButtonでサブタスクを作成しています。UIToolbarをサブクラス化する正しい方法

私はこれをやっている:

@interface CustomToolbar : UIToolbar 

@end 


@implementation CustomToolbar 

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 
     // add buttons 
     UIBarButtonItem *myButton = [[UIBarButtonItem alloc] initWithTitle:@"Button" style:UIBarButtonItemStyleBordered target:self action:@selector(pressSignupButton:)]; 

     // add buttons to the array 
     NSArray *items = [NSArray arrayWithObjects:myButton, nil]; 

     [self setItems:items]; 
    } 
    return self; 
} 

@end 

はその後、私のビューコントローラで:

CustomToolbar *myToolbar = [[CustomToolbar alloc] init]; 
[self.navigationController.view addSubview:myToolbar]; 

問題は、私は、ツールバーを見ることができるということですが、ボタンがありません。どうして?

注意:Nibなしですべてのプログラムを使用することをお勧めします。

+0

- (id)initWithFrame :(CGRect)framemをオーバーライドしますが、initメソッドを呼び出します。 – Victor

+0

メソッドは、この目的のために特別に配置された 'NSLog'を出力するので呼び出されます。 –

答えて

1

これは機能しますか?

CustomToolbar *myToolbar = [[CustomToolbar alloc] 
    initWithFrame:CGRectMake(0,0,self.navigationController.view.frame.size.width, 44)]; 
[self.navigationController.view addSubview:myToolbar]; 
関連する問題