Пользовательские кнопки UIToolbar не активируются - PullRequest
0 голосов
/ 15 сентября 2011

У меня есть приложение UITabBarController с первым контроллером в качестве контроллера навигации. Я подкласс UIToolbar:

CustomToolbar.h

#import <UIKit/UIKit.h>

@interface CustomToolbar : UIToolbar
{
    UINavigationController *navigationController;
}

@property (nonatomic, retain) UINavigationController *navigationController;

- (void)pressButton:(id)sender;

@end

CustomToolbar.m

#import "CustomToolbar.h"
#import "AnotherViewController.h"

@implementation CustomToolbar

@synthesize navigationController;

- (void)pressButton:(id)sender
{
    AnotherViewController *viewController = [[AnotherViewController alloc] init];
    [self.navigationController pushViewController:viewController animated:YES];
    [viewController release];
}

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

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

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

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
}
*/

@end

MyViewController.m

[...]
CustomToolbar *myToolbar = [[CustomToolbar alloc] initWithFrame:CGRectMake(0, 436, self.navigationController.view.frame.size.width, 44)];
[self.navigationController.view addSubview:myToolbar];
[self.navigationController.view setFrame:CGRectMake(0, 0, self.navigationController.view.frame.size.width, self.navigationController.view.frame.size.height - myToolbar.frame.size.height)];
[...]

Все работает нормально, я вижу панель инструментов и кнопку НО она не кликабельна. Есть идеи?

EDIT

Я нашел проблему. Это происходит потому, что я изменяю размер кадра контроллера навигации. Но мне нужно , чтобы изменить его размер. Решения?

...