gpt4 book ai didi

ios - SDCAlertView 和 UIViewController 与 UIButton

转载 作者:行者123 更新时间:2023-11-29 03:20:10 24 4
gpt4 key购买 nike

我必须在中心显示一个自定义 iOS 7 风格的警报请求程序,其中包含一组自定义按钮(具体来说是类别过滤器切换)。为此,我找到了优秀的 SDCAlertView在 GitHub 上。我的方法是创建一个自定义 UIViewController,它处理按钮的创建和按钮触摸,实例化它,然后像这样插入到警报的 contentView 中:

SDCAlertView *alert = [[SDCAlertView alloc] initWithTitle:@"Filter"
message:nil
delegate:self
cancelButtonTitle:@"Clear"
otherButtonTitles:@"Filter", nil];

GKSecondViewController *vc = [[GKSecondViewController alloc] init];
UIView *view = vc.view;
[alert.contentView addSubview:view];
[view sdc_centerInSuperview];

[alert.contentView sdc_pinHeight:100];
[alert.contentView sdc_pinWidth:100];
[alert.contentView setBackgroundColor:[UIColor redColor]];

[alert show];

我的 View Controller (GKSecondViewController)看起来像这样:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
[self.view setBackgroundColor:[UIColor grayColor]];
[self.view setTranslatesAutoresizingMaskIntoConstraints:NO];

[self.view sdc_pinHeight:100];
[self.view sdc_pinWidth:100];

UIButton *button = [[UIButton alloc] init];
[button setTitle:@"Button" forState:UIControlStateNormal];
[button addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)]];
[button setTranslatesAutoresizingMaskIntoConstraints:NO];

[button sdc_pinHeight:100];
[button sdc_pinWidth:100];

[self.view addSubview:button];

[button sdc_centerInSuperview];
}
return self;
}

- (void)tap:(UIGestureRecognizer *)gesture
{
gesture.view.backgroundColor = [UIColor blackColor];
}

(您可能还需要 SDCAutoLayout。)当我单击警报中的按钮时,它崩溃了,跟踪日志中没有任何提示。我错过了什么或做错了什么?

最佳答案

我认为您无法将 View Controller 的 View 添加到其他 View 层次结构中。

在您的情况下,我不会使用 GKSecondViewController。我会在你的对象的 View Controller 中创建按钮,并使用目标/ Action 来返回同一个 View Controller 。如果您必须使用 GKSecondViewController,则 SDCAlertView 必须支持 View Controller 包含,但目前不支持。

关于ios - SDCAlertView 和 UIViewController 与 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21206699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com