次のようにして UITableView にボタンを追加しています
// Add checkOut button
UIView *viewHolder = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 165)];
UIButton *checkOut = [UIButton buttonWithType:UIButtonTypeRoundedRect];
CGRect buttonRect = CGRectMake((self.view.frame.size.width - 220.)/2, 30, 220., 44.);
[checkOut setTitle:@"Check out" forState:UIControlStateNormal];
[checkOut addTarget:self action:@selector(goToCheckOut) forControlEvents:UIControlEventTouchUpInside];
[checkOut setFrame:buttonRect];
[viewHolder addSubview:checkOut];
self.shoppingListTable.tableFooterView = viewHolder;
goToCheckOut は次のことを行います。
#pragma mark - goToCheckOut
- (void)goToCheckOut {
NSLog(@"goToCheckOut");
AnotherViewController *controller = [[AnotherViewController alloc] initWithNibName:@"AnotherViewController" bundle:nil];
[self.navigationController pushViewController:controller animated:YES];
}
ボタンをクリックすると、ログが表示されます
goToCheckOut
しかし、別のView Controllerに移動していません。
理由を知っている体はありますか?助けてください。ありがとう
@pgb:あなたはそれについて何らかの方法で儀式を行っています。タブバーの uiviewcontroller は自分のビューコントローラーです...しかし、私は uitabbarviewcontroller を持っていません。代わりに、私はそれを持ってuiviewcontroller
いuitabar
ます。
#pragma mark - TabBarDelegate
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
// firstViewController section
if ( item.tag == 0 ) {
[self.firstViewController.view removeFromSuperview];
[self.secondViewControoler.view removeFromSuperview];
self.title = @"First View Controller";
[self.view insertSubview:self.firstViewController.view belowSubview:taBar];
}
// secondViewController section
else if (item.tag == 1){
[self.firstViewController.view removeFromSuperview];
[self.secondViewControoler.view removeFromSuperview];
self.title = @"Second View Controller";
frame.origin.x = [self horizontalCoordinateAt:item.tag + 2];
[self.view insertSubview:self.secondViewControoler.view belowSubview:taBar];
}
}
私が今持っている現在の構造は
UIViewController0 ( it is also a navigationController)
UIViewController1
UIViewController2
UITabBar
FirstViewController
SecondViewController
First と SecondViewController で pushViewController を実行できるように変更する方法。