我试图根据光标位置隐藏导航栏。因此,我可以使用iPhone的全屏。但我不知道如何开始它。
类似(不那么混乱:))问题:Show/hide UIToolbar, "match finger movement", precisely as in for example iOS7 Safari
答案 0 :(得分:1)
如果要在视图的任何部分双击隐藏和取消隐藏导航栏,请使用以下代码
在你的.h文件中:
IBOutlet UINavigationController *navigationController;
在您的XIB中连接IBOutlet。
你的.m文件中的:
-(void)viewDidLoad {
[super viewDidLoad];
[navigationController setNavigationBarHidden:YES];
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ UITouch *touch = [touches anyObject];
if (touch.tapCount == 2) {
[navigationController setNavigationBarHidden:NO];
[NSTimer scheduledTimerWithTimeInterval:(1.0) target:self selector:@selector(hideBar) userInfo:nil repeats:NO];
}
}
-(void)hidebar{
[navigationController setNavigationBarHidden:YES];
}
根据您的要求进行修改。
快乐的编码!
答案 1 :(得分:0)
iPhone上没有光标,但你的意思是你想做像safari那样的事情 - 当向下滚动多个屏幕页面时隐藏地址栏吗?
假设您使用的是UITableView,我有一个解决方案: 1.我们已经知道每个表行的高度 - > cell.frame.size.heigh 2.我们已经知道屏幕的高度 - > view.bounds.size.height 3. UITableView每次生成一个单元格时都会调用cellForRowAtIndexPath 因此,您可以轻松地知道表中有多少个单元格,行索引和它们的总高度,每当您看到属于下一个屏幕页面的行索引时,您应该隐藏带有动画的导航栏。否则,如果所有行索引都属于第一个屏幕 - >显示带动画的导航栏。