2013年6月2日日曜日

TabBarとToolBarの入れ替え


このエントリーをはてなブックマークに追加


TabBar非表示


ググって出てくるコードだと、タブバーを再表示させたときにボタンがクリックできなくなっていた。
自分の場合、最初の状態が広告をタブバー上部に座標を指定して表示させていたので、elseで再表示時に広告とタブバーが重なっていたようだ。



- (BOOL) hideTabBar {

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.4];

for (UIView *view in self.view.subviews) {

// 広告はスキップ
if ( [view isKindOfClass:[NADView class]] ) {
continue;
}

CGRect _rect = view.frame;

if ( [view isKindOfClass:[UITabBar class]] ) {
_rect.origin.y = hiddenTabBar ? 431 : 480;
}
else {
_rect.size.height = hiddenTabBar ? 431 : 480;
}

[view setFrame:_rect];
}
[UIView commitAnimations];

hiddenTabBar = !hiddenTabBar;
return hiddenTabBar;
}



ToolBarと入れ替え



- (IBAction)toggleBar:(id)sender {
UITabBarController *tabBarController = self.tabBarController;

BOOL tabBarIsHidden = [tabBarController hideTabBar];
[self.navigationController setToolbarHidden:!tabBarIsHidden];
}



Storyboardでは微妙な操作が要求されるのかtabBarの上にtoolBarを置くことができなかったので、コード側で作成した。



// toolBarのボタン作成,配置
UIBarButtonItem *hogeBtn = [[UIBarButtonItem alloc] initWithTitle:@"HOGE"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(hoge:)
];
NSArray *items = [NSArray arrayWithObjects:hogeBtn,nil];
[self setToolbarItems:items];





0 件のコメント:

コメントを投稿