如何在 iOS 7 中检测水龙头的位置
Posted
技术标签:
【中文标题】如何在 iOS 7 中检测水龙头的位置【英文标题】:How to detect the location of taps in ios 7 【发布时间】:2013-12-25 22:32:31 【问题描述】:我有一个带有半表视图(底部,320x289)和半地图视图(顶部,320,289)的视图控制器。如何检测水龙头的位置?
目前我的点击代码如下所示——点击时,它会隐藏导航栏,以便地图获得一些额外的空间。但是,因为它没有检测到点击的位置,所以当我点击 tableview 时,我无法进入我的 table view 控制器。
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideShowNavigation)];
tap.numberOfTapsRequired = 1;
[self.view addGestureRecognizer:tap];
理想情况下,我想检测水龙头的位置。如果在顶部点击(如果高度 289px),则它将 segue 推送到表格视图控制器中。
- (void) hideShowNavigation:(id)sender
[self.navigationController setNavigationBarHidden:!self.navigationController.navigationBarHidden];
[self hidesBottomBarWhenPushed];
这是整个代码:
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view.
self.navigationController.navigationBar.translucent = YES;
self.automaticallyAdjustsScrollViewInsets = YES;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideShowNavigation:)];
tap.numberOfTapsRequired = 1;
[self.view addGestureRecognizer:tap];
- (void) hideShowNavigation:(id)sender
CGPoint = [sender locationInView:self.view];
CGFloat y = location.y;
if(y<=289)
[self.navigationController setNavigationBarHidden:!self.navigationController.navigationBarHidden];
[self hidesBottomBarWhenPushed];
【问题讨论】:
CGPoint pt = [gRec locationInView:gRec.view];
【参考方案1】:
在您的选择器中:
CGPoint location = [sender locationInView:self.view];
CGFloat x = location.x;
CGFloat y = location.y;
【讨论】:
好的,谢谢!我认为现在检测到水龙头位置。但是,我的问题是当我点击时,点击直接进入@selector 方法(hideShowNavigation)。在此方法中,我无法使用为 Table View 编写的标准代码,它是 Table View Controller 的一部分。换句话说,如何让控制器使用已经编写的标准代码推送到表视图控制器?还是我必须为新的表格视图控制器编写自己的代码? 刚刚更新了代码供您查看!非常感谢您的宝贵时间! 你有没有尝试过类似的东西:if(y<=289) [self.navigationController setNavigationBarHidden:!self.navigationController.navigationBarHidden]; [self hidesBottomBarWhenPushed]; else [self performSegueWithIdentifier:@"SegueToYourTableViewController" sender:self];
这很好用。我对这件事真的很陌生,不熟悉 performSegueWithIdentifier 方法......我还需要更多练习!以上是关于如何在 iOS 7 中检测水龙头的位置的主要内容,如果未能解决你的问题,请参考以下文章