私がやりたいことは、最初にナビゲーション バーを非表示にしてから、ユーザーが画面の上部 (あるべき場所) に触れると、ナビゲーション バーが約 1 ~ 2 秒間表示されて消えることです。
背景と同じ色のボタンを追加してみましたが、それを押すとナビゲーションバーが表示されますが、うまくいかないようです。
また、デモを行って、これが機能することをユーザーに示すにはどうすればよいですか? ありがとう!
私がやりたいことは、最初にナビゲーション バーを非表示にしてから、ユーザーが画面の上部 (あるべき場所) に触れると、ナビゲーション バーが約 1 ~ 2 秒間表示されて消えることです。
背景と同じ色のボタンを追加してみましたが、それを押すとナビゲーションバーが表示されますが、うまくいかないようです。
また、デモを行って、これが機能することをユーザーに示すにはどうすればよいですか? ありがとう!
最初にアプリのデリゲートでナビゲーション バーを非表示にします。次に、タッチ イベントを追加するビュー コントローラーに移動し、次の 2 つのメソッドを使用します。
{
//mouseSwiped = NO;
CGPoint touchPoint;
//CGPoint touchPointNavigationBar;
UITouch *touch = [touches anyObject];
touchPoint=[touch locationInView:self.view];
if (self.navigationController.navigationBarHidden==YES) {
if (touchPoint.y<50) {
self.navigationController.navigationBarHidden=NO;
timer=[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(hideNavigationBar) userInfo:nil repeats:NO];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
}
}
}
-(void)hideNavigationBar
{
self.navigationController.navigationBarHidden=YES;
if ([timer isValid]) {
[timer invalidate];
return;
}
}
これは、出力を取得する方法の 1 つです。このコードを 1 行ずつ説明しているので、役に立ちます。
1]
ビューの上部にボタンを 1 つ追加し、そのボタンに透明な背景画像を追加して、 self.navigationController.navigationBarHidden = YES;と記述します。ビューでDidLoad。
// これにより、ナビゲーション バーが非表示になります。n これで、独自のカスタム ナビゲーション バーを作成できます。
2]
xib で別の UIView を取得し、view2 という名前を付けて、それぞれの IBOutlet に接続します。
それぞれの IBOutlets と IBAction と 2 つの関数を取得し、ビューとボタンに接続します。
以下のコードは、.h ファイルに入ります >>>>>
IBOutlet UIButton *btnHideNShow; // これをボタンに接続
IBOutlet UIView *viewTemp; // これを View に接続します
-(IBAction)btnHideNShowAction:(id)送信者; // これを Button に接続します
-(無効)fun1;
-(無効)fun2;
3]
以下のコードは .m ファイルに入ります >>>>
-(IBAction)btnHideNShowAction:(id)送信者{
btnHideNShow.hidden = YES;
[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(fun1) userInfo:nil repeats:NO];
}
-(ボイド)楽しい1{
viewTemp.frame = CGRectMake(0, 0, 320, 59);
[self.view addSubview:viewTemp];
[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(fun2) userInfo:nil repeats:NO];
}
-(無効)fun2{
[viewTemp removeFromSuperview];
btnHideNShow.hidden = NO;
}
> 要件に応じて、このビューをカスタマイズできます。