3

我有一个带有日期选择器的 UIView,我想在操作表中显示它。我正在使用以下代码:

-(IBAction) button_click:(id)sender{
    //UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"the title" delegate:nil cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"Destructive" otherButtonTitles:@"other", nil];

    UIActionSheet *sheet = [[UIActionSheet alloc] init];
    ActionSheetController *actionSheet = [[ActionSheetController alloc]  initWithNibName:@"ActionSheetView" bundle:nil];    
    [sheet addSubview:actionSheet.view];

    [sheet showInView:self.view];
}

我得到的是从底部出现的新视图的顶部部分,仅此而已。如果我注释中间两行代码并取消注释顶部以显示常规操作表,它工作正常。有什么想法我可能做错了吗?

4

4 回答 4

1

使用 UIActionSheetDelegate 之后,您可以使用此委托将图像添加到警报表的按钮

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet{

   UIImageView *sample = [[UIImageView alloc] initWithImage:[UIImage       
   imageNamed:@"Someimage.png"]];
   [actionSheet addSubView:sample];

}
于 2012-11-19T21:10:39.660 回答
0

我不相信您可以在 UIActionSheet 中指定自定义视图。我的理解是,您只能显示一个标题和 1 个或多个按钮。以下是 Apple 文档中对 UIActionSheet 的描述:

使用 UIActionSheet 类向用户呈现一组备选方案,以了解如何继续执行给定任务。您还可以使用操作表来提示用户确认潜在危险的操作。操作表包含一个可选标题和一个或多个按钮,每个按钮对应于要采取的操作。

UIActionSheet 类参考

于 2010-04-11T05:11:23.677 回答
0

我发现发生这种行为是因为我没有正确使用 UIActionSheet 构造函数。按钮和标题应包括:

UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:@"Date Picker" delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil];
于 2010-04-11T16:37:20.270 回答
0

您可能想查看我制作的 UIActionSheet 替代方案,它可以让您显示自定义内容视图而没有任何肮脏的黑客攻击:https ://github.com/JonasGessner/JGActionSheet它与 UIActionSheet 相比还有一些其他优势!

于 2014-08-16T22:59:04.343 回答