// // ComontAlretDeleteTypeViewController.m // Private-X // // Created by xd h on 2024/7/9. // #import "ComontAlretDeleteTypeViewController.h" @interface ComontAlretDeleteTypeViewController (){ NSString *titleStr; NSString *msgStr; NSString *imageStr; NSString *cancelTitleStr; NSString *okTitleStr; NSString *otherTitleStr; BOOL isOkBtnHighlight; CommonAlertDelete_ClickOkBtn didClickOkBtn; CommonAlertDelete_ClickCancelBtn didClickCanaelBtn; UIButton *otherBtn; } @end @implementation ComontAlretDeleteTypeViewController - (id)initWithTitle:(NSString *)title msg:(NSString *)msg imageStr:(NSString *)images cancelTitle:(NSString *)cancelTitle okTitle:(NSString *)okTitle otherTitle:(NSString *)otherTitle isOkBtnHighlight:(BOOL)okBtnHighlight didClickOk:(CommonAlertDelete_ClickOkBtn)ok didClickCancel:(CommonAlertDelete_ClickCancelBtn)Cancel{ self = [super init]; titleStr = title; msgStr = msg; imageStr = images; cancelTitleStr = cancelTitle; okTitleStr = okTitle; otherTitleStr = otherTitle; isOkBtnHighlight = okBtnHighlight; didClickOkBtn = ok; didClickCanaelBtn = Cancel; return self; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. [self drawAnyView]; } - (void)drawAnyView{ [self.view setBackgroundColor:HW000000Color60]; [self.toolBar setHidden:YES]; [self.navigationBar setHidden:YES]; UIView *bgView = [[UIView alloc] init]; [bgView setBackgroundColor:[UIColor whiteColor]]; [bgView.layer setCornerRadius:8.f]; [self.view addSubview:bgView]; [bgView mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.equalTo(self.view.mas_centerY).offset(10*HAUTOSCALE); make.centerX.equalTo(self.view.mas_centerX); make.width.mas_equalTo(300.f); }]; CGFloat curTop = 30.0; //图片 UIImageView *topImageView = [[UIImageView alloc] init]; //topImageView.backgroundColor = [UIColor redColor]; if(imageStr && imageStr.length > 0){ topImageView.image = [UIImage imageNamed:imageStr]; [bgView addSubview:topImageView]; [topImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.width.mas_equalTo(80.f); make.height.mas_equalTo(80.f); make.centerX.equalTo(bgView.mas_centerX);; make.top.mas_equalTo(curTop); }]; curTop = 30 + 80 + 10.0; } /*主标题*/ UILabel *titleLabel = [[UILabel alloc] init]; [titleLabel setTextColor:HW0A132BColor]; [titleLabel setFont:[UIFont boldSystemFontOfSize:16.f]]; [titleLabel setTextAlignment:(NSTextAlignmentCenter)]; [titleLabel setText:titleStr]; [titleLabel setNumberOfLines:0]; if (titleStr.length > 0){ [bgView addSubview:titleLabel]; [titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(20.f); make.right.mas_equalTo(-20.f); make.top.mas_equalTo(curTop); }]; } /*副标题*/ UILabel *msgLabel = [[UILabel alloc] init]; [msgLabel setTextColor:HW333333Color]; [msgLabel setFont:[UIFont systemFontOfSize:15.f]]; [msgLabel setTextAlignment:(NSTextAlignmentCenter)]; msgLabel.tag = 11; [msgLabel setText:msgStr]; [msgLabel setNumberOfLines:0]; if (msgStr.length > 0){ [bgView addSubview:msgLabel]; [msgLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(20.f); make.right.mas_equalTo(-20.f); if (titleStr.length > 0){ make.top.equalTo(titleLabel.mas_bottom).offset(15.f); }else{ make.top.mas_equalTo(curTop); } }]; } /* */ otherBtn = [[UIButton alloc] init]; [otherBtn addTarget:self action:@selector(otherBtnClick:) forControlEvents:(UIControlEventTouchUpInside)]; [otherBtn setTitle:otherTitleStr forState:(UIControlStateNormal)]; [otherBtn setImage:[UIImage imageNamed:@"upload_file_uncheck"] forState:UIControlStateNormal]; [otherBtn setImage:[UIImage imageNamed:@"upload_file_check"] forState:UIControlStateSelected]; [otherBtn setTitleColor:[UIColor hwColor:@"#151515"] forState:UIControlStateNormal]; [otherBtn.titleLabel setFont:[UIFont systemFontOfSize:14.f]]; [bgView addSubview:otherBtn]; [otherBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(0); make.right.mas_equalTo(0); if (msgStr.length > 0){ make.top.equalTo(msgLabel.mas_bottom).offset(15.f); }else{ make.top.equalTo(titleLabel.mas_bottom).offset(25.f); } if(otherTitleStr.length > 0){ make.height.mas_equalTo(30); } else{ make.height.mas_equalTo(10); } }]; /*双按钮*/ /*取消*/ /*取消按钮*/ UIButton *cancelBtn = [[UIButton alloc] init]; cancelBtn.frame = CGRectMake(0, 0, 115, 48.f); CGFloat w_btn = 200; if (okTitleStr.length > 0){ w_btn = 115; } // gradient CAGradientLayer *gl = [CAGradientLayer layer]; gl.frame = CGRectMake(0,0,w_btn,48.f); gl.startPoint = CGPointMake(0, 0.5); gl.endPoint = CGPointMake(1, 0.5); gl.colors = @[(__bridge id)HW0CDEFDColor.CGColor, (__bridge id)HW058DFBColor.CGColor]; gl.locations = @[@(0), @(1.0f)]; if(!isOkBtnHighlight){ [cancelBtn.layer addSublayer:gl]; [cancelBtn setTitleColor:[UIColor whiteColor] forState:(UIControlStateNormal)]; } else{ [cancelBtn setTitleColor:HW0A132BColor forState:(UIControlStateNormal)]; [cancelBtn setBackgroundColor:HWE3E8F1Color]; } [cancelBtn addTarget:self action:@selector(cancelBtnClick) forControlEvents:(UIControlEventTouchUpInside)]; [cancelBtn setTitle:cancelTitleStr forState:(UIControlStateNormal)]; [cancelBtn.titleLabel setFont:[UIFont systemFontOfSize:16.f]]; [cancelBtn.layer setCornerRadius:8.f]; cancelBtn.clipsToBounds = YES; cancelBtn.tag = 999; [bgView addSubview:cancelBtn]; [cancelBtn mas_makeConstraints:^(MASConstraintMaker *make) { if (okTitleStr.length > 0){ make.left.mas_equalTo(24); }else{ make.centerX.equalTo(bgView.mas_centerX); } // if (msgStr.length > 0){ // make.top.equalTo(msgLabel.mas_bottom).offset(15.f); // }else{ // make.top.equalTo(titleLabel.mas_bottom).offset(25.f); // } make.top.equalTo(otherBtn.mas_bottom).offset(25.f); make.width.mas_equalTo(w_btn); make.bottom.equalTo(bgView.mas_bottom).offset(-30.f); make.height.mas_equalTo(48.f); }]; if (okTitleStr.length > 0){ /*残忍拒绝*/ UIButton *okBtn = [[UIButton alloc] init]; if(!isOkBtnHighlight){ [okBtn setTitleColor:HW0A132BColor forState:(UIControlStateNormal)]; [okBtn setBackgroundColor:HWE3E8F1Color]; } else{ [okBtn.layer addSublayer:gl]; [okBtn setTitleColor:[UIColor whiteColor] forState:(UIControlStateNormal)]; } [okBtn addTarget:self action:@selector(okBtnClick) forControlEvents:(UIControlEventTouchUpInside)]; [okBtn setTitle:okTitleStr forState:(UIControlStateNormal)]; //[okBtn setTitleColor:HW0A132BColor forState:(UIControlStateNormal)]; [okBtn.titleLabel setFont:[UIFont systemFontOfSize:16.f]]; [okBtn.layer setCornerRadius:8.f]; //[okBtn setBackgroundColor:HWE3E8F1Color]; okBtn.clipsToBounds = YES; [bgView addSubview:okBtn]; [okBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(-24.f); make.width.mas_equalTo(w_btn); make.top.equalTo(cancelBtn.mas_top); make.height.mas_equalTo(48.f); }]; } } - (void)cancelBtnClick{ [self dismissViewControllerAnimated:YES completion:^{ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ if(self->didClickCanaelBtn){ self->didClickCanaelBtn(); } }); }]; } - (void)okBtnClick{ [self dismissViewControllerAnimated:YES completion:^{ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ if(self->didClickOkBtn){ self->didClickOkBtn(self->otherBtn.selected); } }); }]; } - (void)otherBtnClick:(UIButton*)but{ but.selected = !but.selected; } @end