【发布时间】:2015-04-14 10:19:42
【问题描述】:
在 ios 7.0 中,我只想在用户在弹出框之外按下时关闭该操作表。我在按钮单击时显示该操作表并使用此代码尝试在 actionsheet.window 上获得一些点击手势
-(IBAction)buttonClicked:(id)sender{
NSLog(@"button clicked");
NSLog(@"action sheet ");
actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:@"Rename",@"Delete",@"Cancel" ,nil];
for (UIView *subview in actionSheet.subviews) {
if ([subview isKindOfClass:[UIButton class]]) {
UIButton *button = (UIButton *)subview;
[button setBackgroundColor:[UIColor whiteColor]];
[button setTitleColor:[UIColor orangeColor] forState:UIControlStateHighlighted];
[button setTitleColor:[UIColor orangeColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor orangeColor] forState:UIControlStateSelected];
}
}
// [actionSheet setBackgroundColor:[UIColor whiteColor]];
[actionSheet showInView:self.view];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapOut:)];
tap.cancelsTouchesInView = NO;
[actionSheet.window addGestureRecognizer:tap];
[actionSheet.window addGestureRecognizer:tap];
}
-(void)tapOut:(UIGestureRecognizer *)gestureRecognizer {
NSLog(@"in tap out");
CGPoint p = [gestureRecognizer locationInView:actionSheet];
if (p.y < 0) {
NSLog(@" p.y < 0 ");
}
}
但是我没有得到这个点击手势。请帮我解决这个问题。
【问题讨论】:
标签: ios objective-c iphone uiactionsheet uitapgesturerecognizer