我经常看到类似iphone应用程序底部图片的内容,并想知道是否有一种标准的方法来实现这一点。
要清楚,它是一个覆盖屏幕一半的视图,通常带有按钮来选择不同的选项。当我要求标准方式时,我的意思是UITableView,UIAlertView,UIScrollView等......
答案 0 :(得分:8)
您正在寻找UIActionSheet:http://developer.apple.com/library/ios/documentation/uikit/reference/UIActionSheet_Class/Reference/Reference.html
在使用这些(或任何其他UI元素)之前,还要检查iOS人机界面指南中有关如何使用它们的内容。我经常看到行动表被滥用,令人遗憾。
答案 1 :(得分:3)
是的,它被称为UIActionSheet。这是一个例子:
UIActionSheet *takeAction = [[UIActionSheet alloc] initWithTitle:@""
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:@"Delete"
otherButtonTitles:@"New...", @"Open...", @"Save As...", nil];
[takeAction setActionSheetStyle:UIActionSheetStyleDefault];
// use this to implement it with a tabBarController; similar ways to work with navBars
[takeAction showFromTabBar:(UITabBar *)[[self tabBarController] view]];
[takeAction release];
与alertView一样,您可以使用
响应按钮- (void)actionSheet:(UIActionSheet *)actionSheet
clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == [actionSheet destructiveButtonIndex]) {
[self deleteIt];
} else if (buttonIndex == [actionSheet cancelButtonIndex]) {
} else if (buttonIndex == 1) {
[self createNew];
} else if (buttonIndex == 2) {
[self openSaved];
} else if (buttonIndex == 3) {
[self saveAs];
} else {
}
}
另外,请确保将viewController声明为委托:
<UIActionSheetDelegate>