单击 UIActionSheet 中的按钮启动 UIPopover
Launch a UIPopover on click of a button inside UIActionSheet
在我的 Table 视图中向左滑动一行,我有两个 UITableViewRowAction 按钮(删除和更多)。单击 More 按钮时,我将显示一个 UIActionSheet,其中包含两个按钮,分别名为 Edit NickName 和 Edit照片 像这样:
现在我正尝试在单击“编辑昵称”时启动 UI弹出窗口。为此,我使用以下代码:
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
NSString *buttonTitle = [actionSheet buttonTitleAtIndex:buttonIndex];
if ([buttonTitle isEqualToString:@"Edit NickName"]) {
NSLog(@"Edit NickName");
UIStoryboard *secondStoryBoard = [UIStoryboard storyboardWithName:@"SplitView" bundle:nil];
EditNickNameViewController *popVC = [secondStoryBoard instantiateViewControllerWithIdentifier:@"EditNickNameViewController"];
popover = [[UIPopoverController alloc] initWithContentViewController:popVC];
popover.delegate=self;
popover.popoverContentSize = CGSizeMake(600, 300);
[popover presentPopoverFromRect:CGRectMake(20,20, 0, 0) inView:self.view
permittedArrowDirections:0 animated:YES];
}
if ([buttonTitle isEqualToString:@"Edit Image"]) {
NSLog(@"Edit Image");
}
}
上面的代码在任何普通 UIButton 的 IBAction 中运行良好,但在这种情况下它没有显示任何弹出窗口。
上面的代码行正在运行时执行,但没有任何反应。
任何人都可以告诉我是否可以做这样的事情,或者我在这里做错了什么。如果不可能,请建议我如何在单击 Edit NickName 按钮时启动类似弹出窗口的替代方法。
提前致谢!
在主队列中显示您的弹出窗口;
dispatch_async(dispatch_get_main_queue(), ^{
[popover presentPopoverFromRect:CGRectMake(20,20, 0, 0) inView:self.view
permittedArrowDirections:0 animated:YES];
});
在我的 Table 视图中向左滑动一行,我有两个 UITableViewRowAction 按钮(删除和更多)。单击 More 按钮时,我将显示一个 UIActionSheet,其中包含两个按钮,分别名为 Edit NickName 和 Edit照片 像这样:
现在我正尝试在单击“编辑昵称”时启动 UI弹出窗口。为此,我使用以下代码:
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
NSString *buttonTitle = [actionSheet buttonTitleAtIndex:buttonIndex];
if ([buttonTitle isEqualToString:@"Edit NickName"]) {
NSLog(@"Edit NickName");
UIStoryboard *secondStoryBoard = [UIStoryboard storyboardWithName:@"SplitView" bundle:nil];
EditNickNameViewController *popVC = [secondStoryBoard instantiateViewControllerWithIdentifier:@"EditNickNameViewController"];
popover = [[UIPopoverController alloc] initWithContentViewController:popVC];
popover.delegate=self;
popover.popoverContentSize = CGSizeMake(600, 300);
[popover presentPopoverFromRect:CGRectMake(20,20, 0, 0) inView:self.view
permittedArrowDirections:0 animated:YES];
}
if ([buttonTitle isEqualToString:@"Edit Image"]) {
NSLog(@"Edit Image");
}
}
上面的代码在任何普通 UIButton 的 IBAction 中运行良好,但在这种情况下它没有显示任何弹出窗口。
上面的代码行正在运行时执行,但没有任何反应。
任何人都可以告诉我是否可以做这样的事情,或者我在这里做错了什么。如果不可能,请建议我如何在单击 Edit NickName 按钮时启动类似弹出窗口的替代方法。
提前致谢!
在主队列中显示您的弹出窗口;
dispatch_async(dispatch_get_main_queue(), ^{
[popover presentPopoverFromRect:CGRectMake(20,20, 0, 0) inView:self.view
permittedArrowDirections:0 animated:YES];
});