gpt4 book ai didi

objective-c - 从框架呈现模态视图时如何检测何时按下 "Done"按钮

转载 作者:行者123 更新时间:2023-11-29 11:04:54 26 4
gpt4 key购买 nike

如果模态视图是从框架(在我的例子中是 eventkit)中呈现的,那么检测取消或完成按钮是否被按下的正确方法是什么。在我关于 didCompleteWithaction 的示例中,我的模态视图被关闭,警报 View 被触发。我希望只有在按下 Done 按钮而不是取消按钮时才会触发警报 View 。

我最初的想法是在按下完成按钮时使用 if 语句,但是我不确定如何获得完成按钮的属性。

- (void)eventEditViewController:(EKEventEditViewController *)controller
didCompleteWithAction:(EKEventEditViewAction)action {

// Dismiss the modal view controller
[controller dismissModalViewControllerAnimated:YES];

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"message" message:@"Added to calender" delegate:nil cancelButtonTitle: @"Ok" otherButtonTitles: nil];

[alert show];


}

最佳答案

查看委托(delegate)的协议(protocol)引用:apple documentation

您必须检查委托(delegate)方法的 action 参数,因为它表示用户选择的操作。

例如

- (void)eventEditViewController:(EKEventEditViewController *)controller
didCompleteWithAction:(EKEventEditViewAction)action {

// Dismiss the modal view controller
[controller dismissModalViewControllerAnimated:YES];

//this checks what action the user chose:
if (action == EKEventEditViewActionSaved) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"message" message:@"Added to calender" delegate:nil cancelButtonTitle: @"Ok" otherButtonTitles: nil];

[alert show];
}


}

我不知道“完成”按钮会触发什么操作,可能是...ActionSaved - 但你自己检查一下。

关于objective-c - 从框架呈现模态视图时如何检测何时按下 "Done"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14111740/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com