如何使用uiactionsheet解雇,当你轻敲外面,例如上面?
如何在使用uiactionsheet时忽略外部例如上方的内容?这是iPhone的。显然,ipad默认是这样做的(我可能是错的)。如何使用uiactionsheet解雇,当你轻敲外面,例如上面?
回答:
好的有一个解决方案。以下适用于的UIActionSheet
// For detecting taps outside of the alert view -(void)tapOut:(UIGestureRecognizer *)gestureRecognizer {
CGPoint p = [gestureRecognizer locationInView:self];
if (p.y < 0) { // They tapped outside
[self dismissWithClickedButtonIndex:0 animated:YES];
}
}
-(void) showFromTabBar:(UITabBar *)view {
[super showFromTabBar:view];
// Capture taps outside the bounds of this alert view
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapOut:)];
tap.cancelsTouchesInView = NO; // So that legit taps on the table bubble up to the tableview
[self.superview addGestureRecognizer:tap];
[tap release];
}
它的要点是添加一个手势识别器的动作片的上海华,并测试所有水龙头,看看他们是动作片上的子类。
回答:
它可能对你有用 用途:
- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated
previous so question
回答:
我认为你正在寻找这种方法
- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated
编辑
可以使用这个在你的动作表对象上,它工作得很好,但你不能在该表之外注册事件,如灰色部分
可能是你的视图控制器上使用的UITapGestureRecognizer
比它可能的伎俩。
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(nothing)]; [actionSheet addGestureRecognizer:recognizer];
回答:
,因为动作片覆盖整个视图片的形式按钮一些透明的黑色鉴于iPhone手机,但在ipad这种行为在默认情况下呈现你不能这样做,通过点击之外。
因此用于触摸外部你不能调用触摸方法。所以我不这么认为,你可以这样做,并且当苹果在操作表中提供一个取消按钮时,为什么不使用该按钮而不是这个。
回答:
这不回答这个问题准确,但这里是我做的项目之一(从增加额外这样可以防止“完成”按钮或“外部点击”的东西),当点击关闭选择器:
落实在其中创建一个UILabel的viewForRow
选择器的委托方法并返回它:
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
在这些自定义行标签,添加自来水动作处理程序:
UITapGestureRecognizer *tapAction = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleClick:)]; [label addGestureRecognizer:tapAction];
在回调,关闭该开放片(包含该选择器视图的一个):
[pickerSheet dismissWithClickedButtonIndex:0 animated:TRUE];
回答:
使用showFromRect,例如:
UIView *barButtonView = [barButtonItem valueForKey:@"view"]; CGRect buttonRect = barButtonView.frame;
[actionSheet showFromRect:buttonRect inView:self.view animated:YES];
回答:
在iOS7
我在gestureRecognizerShouldBegin
添加dismissWithClickedButtonIndex
味精,它的工作原理。
回答:
将UIActionSheet的cancelButtonIndex属性设置为有效值后,轻敲外部将关闭UIActionSheet。我已经在iOS 9中尝试过了。但是,如果此cancelButtonIndex未设置为错误值(例如,一个超过UIActionSheet中按钮总数的指数),在外部点击时不会发生任何事情。
回答:
不需要任何点击手势。只需使用UIAlertActionStyleCancel操作即可。
回答:
使用。取消 UIAlertActionStyle作为选项。
以上是 如何使用uiactionsheet解雇,当你轻敲外面,例如上面? 的全部内容, 来源链接: utcz.com/qa/266844.html