首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何自定义UIActionSheet?iOS

如何自定义UIActionSheet?iOS
EN

Stack Overflow用户
提问于 2013-07-30 19:55:03
回答 5查看 33.9K关注 0票数 19

是否可以创建一个在两个按钮之间有标签的ActionSheet,如下图所示?

EN

回答 5

Stack Overflow用户

发布于 2014-01-07 06:20:49

我只是想添加一个小评论,但我不能评论,所以我会发布一个完整的答案。如果您希望避免上下文错误CGContextSetFillColorWithColor: invalid context 0x0。这是一个严重的错误等。你可以使用下面的代码。

self.actionSheet = [[UIActionSheet alloc] initWithTitle:@""
                                               delegate:nil
                                      cancelButtonTitle:nil
                                 destructiveButtonTitle:nil
                                      otherButtonTitles:nil];

然而,正如@Max所说的那样,这会弄乱你动作单顶部的图形/绘图,所以如果你还没有背景知识,只需添加这个代码就可以给你默认的动作单外观。

UIView *background = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
background.backgroundColor = [UIColor colorWithRed:204.0/255.0 green:204.0/255.0 blue:204.0/255.0 alpha:1];
[self.actionSheet addSubview:background];

然后将您想要的任何其他内容添加到您的自定义操作表中。

票数 3
EN

Stack Overflow用户

发布于 2014-08-17 07:00:26

如果你不想在UIActionSheet上使用任何技巧来定制它,你可以看看我做的UIActionSheet的替代品:https://github.com/JonasGessner/JGActionSheet,它是完全可定制的!

票数 2
EN

Stack Overflow用户

发布于 2014-01-29 18:55:52

UIButton* button = (UIButton*)sender;
    actionSheet = [[UIActionSheet alloc] initWithTitle:@"Share the PNR Status" delegate:self
                                     cancelButtonTitle:@"Cancel"
                                destructiveButtonTitle:nil
                                     otherButtonTitles:@"Send Message",@"Send Email",@"Facebook",nil];

    [[[actionSheet valueForKey:@"_buttons"] objectAtIndex:0] setImage:[UIImage imageNamed:@"chat.png"] forState:UIControlStateNormal];
    [[[actionSheet valueForKey:@"_buttons"] objectAtIndex:1] setImage:[UIImage imageNamed:@"email.png"] forState:UIControlStateNormal];
    [[[actionSheet valueForKey:@"_buttons"] objectAtIndex:2] setImage:[UIImage imageNamed:@"facebook_black.png"] forState:UIControlStateNormal];
 //*********** Cancel
    [[[actionSheet valueForKey:@"_buttons"] objectAtIndex:3] setImage:[UIImage imageNamed:@"cancel.png"] forState:UIControlStateNormal];
    [actionSheet showFromRect:button.frame inView:self.view animated:YES];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17946358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档