如何关闭操作表
Posted
技术标签:
【中文标题】如何关闭操作表【英文标题】:how to dismiss action sheet 【发布时间】:2011-04-20 06:36:07 【问题描述】:我使用此代码在 uiactionsheet 中显示 uipicker,但是当我单击关闭按钮时,我想从视图中删除操作表。那么删除actionSheet表单视图的代码应该是什么。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:nil cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil];
[actionSheet setActionSheetStyle:UIActionSheetStyleBlackTranslucent];
CGRect pickerFrame = CGRectMake(0, 40, 0, 0);
pickerView = [[UIPickerView alloc] initWithFrame:pickerFrame];
pickerView.showsSelectionIndicator = YES;
pickerView.dataSource = self;
pickerView.delegate = self;
[actionSheet addSubview:pickerView];
[pickerView release];
UISegmentedControl *closeButton = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObject:@"Close"]];
closeButton.momentary = YES;
closeButton.frame = CGRectMake(260, 7.0f, 50.0f, 30.0f);
closeButton.segmentedControlStyle = UISegmentedControlStyleBar;
closeButton.tintColor = [UIColor blackColor];
[closeButton addTarget:self action:@selector(dismissActionSheet:) forControlEvents:UIControlEventValueChanged];
[actionSheet addSubview:closeButton];
[closeButton release];
[actionSheet showInView:self.view];//[UIApplication mainWindow]];
[actionSheet setBounds:CGRectMake(0, 0, 320, 485)];
return false;
【问题讨论】:
我用过 [actionsheet removeFromSuperview];但它不起作用。 见***.com/questions/1551587/… 【参考方案1】:您需要做的就是关闭 ActionSheet,您可以使用 dismissWithClickedButtonIndex:animated:
完成此操作
【讨论】:
斯威夫特呢?【参考方案2】:添加此方法对我有用:
-(void) dismissActionSheet:(id)sender
UIActionSheet *actionSheet = (UIActionSheet *)[(UIView *)sender superview];
[actionSheet dismissWithClickedButtonIndex:0 animated:YES];
【讨论】:
我的发件人是一个 UIBarButtonItem,它被添加到一个可变数组中,该数组被添加到一个 UIToolBar,它作为子视图添加到操作表中。如何在dismiss方法中访问actionsheet?【参考方案3】:操作表范围问题。
使用[actionSheet dismissWithClickedButtonIndex:0 animated:YES];
【讨论】:
你在哪里用的?我尝试创建一个dismissActionSheet 方法,并将[actionSheetdismissWith...] 放入其中,但它似乎不起作用。以上是关于如何关闭操作表的主要内容,如果未能解决你的问题,请参考以下文章
如何在一张工作表上运行 2 个 Private Sub Worksheet_Change?
如何将包含数百张工作表的 excel 文件导入数据库以在 C# 项目中使用?
在 VBA 中,我如何创建一个匹配 2 张工作表中的日期并将数据作为值粘贴到匹配日期的代码?不能为此使用 vlookup