UIButton中的UIActionSheet操作表参数解析
在ViewController.xib文件中添加一个UIButton按钮,然后我们实现一个提示功能窗口:
相关方法实现代码如下:
[plain]
1. -(IBAction)doSomething:(id)sender
2. {
3. UIActionSheet *actionSheet =[[UIActionSheet alloc]initWithTitle:@"Are you sure?" delegate:self cancelButtonTitle:@"No Way" destructiveButtonTitle:@"yes,I'm Sure" otherButtonTitles:nil];
4. [actionSheet showInView:self.view];
5. [actionSheet release];
6. }
doSomething方法的作用是什么呢?我们首先分配并初始化一个UIActionSheet对象,该对象表示一个操作表:
初始化方法接受了五个参数,我们来说一下参数含义:
第一个参数:initWithTitle:是显示的标题,显示在操作表的顶部。
第二个参数:delegate:是操作表的委托,将在该表上的按钮被按下时收到通知,更确切地说,委托的ActionSheet:didDismissWithButtonIndex:actionSheet:didDismisswithButtonIndex:方法将被调用。通过将self作为委托参数传递给该方法,我们可以确保本程序的actionSheet:didDismisswithButtonIndex:方法将被调用。
cancelButtonTitle:是取消按钮的标题,用户可以通过点击此按钮表明不希望继续操作。所有操作表都应该有一个取消按钮,但你可以根据需要为它们指定合适的标题。如果没有选择,则不必使用操作表。如果只希望通知用户,但不让用户做出选择,那么用通知比较合适。
destructiveButtonTitle:确定按钮的标题,同上相反。
otherButtonTitle:是用于指定希望在表单上现实的其他按钮的数量,该参数可以使用各种值,这是OC语言中的特性,如果我们希望操作表上有另外两个按钮,可以写如下代码:
[plain]
1. otherButtonTitle:@"Foo",@"Bar",nil;
[plain]
1. 这样操作表将提供四个按钮供用户选择,可以在otherButtonTitles参数中传递任意数量的变量,只要nil作为最后一个变量传递即可。但根据可用屏幕空间的大小,按钮的数量将收到实际限制。
[plain]
1. 创建操作表后,操作表始终有一个父视图,即当前对用户可见的视图。在本例中,我们希望使用在Interface Builder中设计的视图作为父视图,因此使用self.view。view是父类UIViewController的一个属性,指向该类的控制器对应的视图。
摘自 安诺的专栏
相关新闻>>
- 发表评论
-
- 最新评论 更多>>