Первый: простите за мой плохой английский!
У меня есть класс, в котором я создаю UIButton. Кнопка UIB Я добавляю UIView. В ViewController я хотел бы добавить эти пользовательские вкладки. Пока это хорошо работает. Однако существуют проблемы с addTarget: action: forControlEvents: - Как я могу запустить из ViewController метод экземпляра в классе? Класс имеет тип NSObject. Мой код:
TabBar *tabBar = [[TabBar alloc] init];
[tabBar tabBarButton];
[tabBar.home addTarget:tabBar action:@selector(switchView) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:tabBar.tabView];
А вот и мой класс:
@implementation TabBar
@synthesize tabView, home, list, charts, favorits, more;
-(void)tabBarButton{
tabView = [[UIView alloc] initWithFrame:CGRectMake(0, 360, 320,56)];
home = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 43, 56)];
list = [[UIButton alloc] initWithFrame:CGRectMake(63, 0, 40, 56)];
charts = [[UIButton alloc] initWithFrame:CGRectMake(123, 0, 49, 56)];
favorits = [[UIButton alloc] initWithFrame:CGRectMake(192, 0, 66, 56)];
more = [[UIButton alloc] initWithFrame:CGRectMake(278, 0, 42, 56)];
[home setImage:[UIImage imageNamed:@"home.png"] forState:UIControlStateNormal];
[list setImage:[UIImage imageNamed:@"liste.png"] forState:UIControlStateNormal];
[charts setImage:[UIImage imageNamed:@"charts.png"] forState:UIControlStateNormal];
[favorits setImage:[UIImage imageNamed:@"favorites.png"] forState:UIControlStateNormal];
[more setImage:[UIImage imageNamed:@"more.png"] forState:UIControlStateNormal];
home.tag = 1;
list.tag = 2;
charts.tag = 3;
favorits.tag = 4;
more.tag = 5;
[tabView addSubview:home];
[tabView addSubview:list];
[tabView addSubview:charts];
[tabView addSubview:favorits];
[tabView addSubview:more];
}
-(void)switchView{
NSLog(@"hi");
}
Когда я запускаю приложение, оно сразу падает, когда я нажимаю одну кнопку.