willPresentActionSheet 将两个不同的操作表放在一个类中。如何知道哪一个将呈现

发布于 2024-11-16 14:59:57 字数 665 浏览 2 评论 0原文

在我的课堂上,我需要有 2 个不同的(或更多)操作表。所有工作表都转到 willPresentActionSheet。在 willPresentActionSheet 中,我做了一些事情,例如添加日期选择器。但我如何知道哪个操作表称为 willPresentActionSheet?

编辑:我创建了这样的操作表:

UIActionSheet *asheet = [[UIActionSheet alloc] 
                         initWithTitle:@"Pick a value" 


                         delegate:self
                         cancelButtonTitle:@"Cancel" 
                         destructiveButtonTitle:nil 
                         otherButtonTitles:@"Select"
                         , nil];

[asheet showInView:[self.view superview]]; 

[asheet setFrame:CGRectMake(0, 117, 320, 383)];
[asheet release];

In my class I need to have 2 different (or more) actionsheets. All of the sheets go to willPresentActionSheet. In willPresentActionSheet I do things like add a datepicker. But how do I know which actionsheet called the willPresentActionSheet?

EDIT: I created the actionsheet like this:

UIActionSheet *asheet = [[UIActionSheet alloc] 
                         initWithTitle:@"Pick a value" 


                         delegate:self
                         cancelButtonTitle:@"Cancel" 
                         destructiveButtonTitle:nil 
                         otherButtonTitles:@"Select"
                         , nil];

[asheet showInView:[self.view superview]]; 

[asheet setFrame:CGRectMake(0, 117, 320, 383)];
[asheet release];

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

初心未许 2024-11-23 14:59:57

您可以为操作表设置“标签”,并在 willPresentActionSheet: 方法中检查该标签。简单的!

编辑:
设置标签。

actionSheet1.tag = 100;
actionSheet2.tag = 101;

并在 willPresentActionSheet: 方法中。

if (actionSheet.tag == 100) {  
    // actionSheet1 is going to be presented
} else if (actionSheet.tag == 101) {
    // actionSheet2 is going to be presented
} 

You can set the 'tag' for the action sheets, and check the tag in willPresentActionSheet: method. Simple!

Edit:
Set the tag.

actionSheet1.tag = 100;
actionSheet2.tag = 101;

And in willPresentActionSheet: method.

if (actionSheet.tag == 100) {  
    // actionSheet1 is going to be presented
} else if (actionSheet.tag == 101) {
    // actionSheet2 is going to be presented
} 
把人绕傻吧 2024-11-23 14:59:57

它将操作表传递到方法中...因此,如果您有(在标头中声明)actionView1 和 actionView2 那么您可以执行...

if([actionSheet isEqual:actionView1]) {
  // do stuff for 1
} else if([actionSheet isEqual:actionView2]) {
  // do stuff for 2
}

It passes the actionsheet into the method... So if you have (declared in the header) actionView1 and actionView2 then you can do...

if([actionSheet isEqual:actionView1]) {
  // do stuff for 1
} else if([actionSheet isEqual:actionView2]) {
  // do stuff for 2
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文