我是Objective-C的新手,我尝试编写iPad应用程序(Objective-C 2.0,Xcode 4.0.1)。 我用ActionSheet“玩”来理解它是如何工作的。在一个nib文件中,我将一个按钮绑定到我的“buttonPressed”方法。
我写了这段代码:
-(IBAction)buttonPressed
{
UIActionSheet *myActionSheet = [[UIActionSheet alloc] initWithTitle:@"My Action Sheet" delegate:nil cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"OK" otherButtonTitles:@"Test", nil];
NSLog([NSString stringWithFormat:@"%d", [myActionSheet numberOfButtons]]);
NSLog([myActionSheet buttonTitleAtIndex:0]);
NSLog([myActionSheet buttonTitleAtIndex:1]);
NSLog([myActionSheet buttonTitleAtIndex:2]);
[myActionSheet showInView:self.view];
[myActionSheet release];
}
这是NSLog的结果:
2011-04-14 14:52:30.428 TrampManage[3568:207] 3
2011-04-14 14:52:30.429 TrampManage[3568:207] OK
2011-04-14 14:52:30.430 TrampManage[3568:207] Test
2011-04-14 14:52:30.432 TrampManage[3568:207] Cancel
但显示的视图安静不同(参见图片:http://www.imagup.com/data/1117452257.html)。目前,我有一个简单的问题:为什么我的“取消”按钮没有出现?
答案 0 :(得分:0)
正如您的标记提示,您可能正在开发一个ipad项目。
文档说明了iPad的取消按钮:
cancelButtonTitle 标题 取消按钮。此按钮已添加到 动作表自动和 分配了适当的索引,其中 可以从 cancelButtonIndex属性。这个 按钮以黑色显示 表示它代表取消 行动。 如果您不想要,请指定nil 取消按钮或正在展示 iPad上的操作表。
您可以在操作表外触摸取消。
答案 1 :(得分:0)
你最有可能在iPad上,新的界面习惯用法是不显示取消按钮。用户只需单击工作表外即可取消工作表。不是最好的设计决定恕我直言,但这就是它现在的方式。
答案 2 :(得分:0)
它不显示取消按钮。因为ipad的宽度比iphone&为了解雇它你可以在ipad上的操作表之外选项卡。
细节解释:
看到这个显示确定按钮的iphone图像
下图显示了iPad上显示的操作表。 有趣的是,在iPad上的OK按钮(设置为 cancelButtonTitle:参数)不显示。
单击时每个按钮的值(buttonIndex)如下:
➤ 删除消息 - 0
➤选项1 - 1
➤选项2 - 2
➤确定 - 3
在iPad上,当用户点击外面的区域时 行动表,行动表被驳回和价值 buttonIndex变为3.有趣的是,如果你指定了nil cancelButtonTitle:part,当buttonIndex的值为-1时 行动表被驳回。