06-屏蔽罩

1想虎、彈出屏蔽罩一般用在提示用戶一些重要信息卦尊,和系統(tǒng)自帶的UIAlertController起到一樣的效果,只不過自定義屏蔽罩彈窗可以使內(nèi)容更加多元化

2舌厨、代碼如下


#import <UIKit/UIKit.h>
@class LZExchangeCouponView, BeanCoupon;

@protocol LZExchangeCouponViewDelegate <NSObject>

@optional

/**
 * 確定按鈕代理方法
 */
- (void)exchangeCouponViewDelegate:(LZExchangeCouponView *) exchangeCouponView addDefineButton:(UIButton *)defineButton;

/**
 * 關(guān)閉按鈕代理方法
 */
- (void)exchangeCouponViewDelegate:(LZExchangeCouponView *)exchangeCouponView addColseButton:(UIButton *)colseButton;

@end

@interface LZExchangeCouponView : UIView

/**
 *  兌換券對象
 */
@property (nonatomic, strong) BeanCoupon *coupon;

/**
 *  兌換券代理
 */
@property (nonatomic, weak) id<LZExchangeCouponViewDelegate> delegate;

@end


#import "LZExchangeCouponView.h"
#import "bean/Coupon.h"


@interface LZExchangeCouponView ()

/**
 *  透明背景View
 */
@property (nonatomic, strong) UIView *bgView;

/**
 *  contentView
 */
@property (nonatomic, strong) UIView *couponBgView;

/**
 *  背景圖片
 */
@property (nonatomic, strong) UIImageView *bgImageView;

/**
 *  兌換券圖片
 */
@property (nonatomic, strong) UIImageView *exchangeImageView;

/**
 *  兌換券提示
 */
@property (nonatomic, strong) UILabel *tsLabel;

/**
 *  兌換天數(shù)
 */
@property (nonatomic, strong) UILabel *exchangeLabel;

/**
 *  確定按鈕
 */
@property (nonatomic, strong) UIButton *defineButton;

/**
 *  關(guān)閉按鈕
 */
@property (nonatomic, strong) UIButton *closeButton;

@end

@implementation LZExchangeCouponView

#pragma mark - 初始化
- (instancetype)initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
        
        //0岂却、透明View
        self.bgView = [[UIView alloc] init];
        self.bgView.backgroundColor = [UIColor blackColor];
        self.bgView.alpha = 0.5;
        [self addSubview:self.bgView];
        
        //1、contentView
        self.couponBgView = [[UIView alloc] init];
//        self.couponBgView.backgroundColor = [UIColor whiteColor];
        [self addSubview:self.couponBgView];
        
        //2裙椭、背景圖片
        self.bgImageView = [[UIImageView alloc] init];
        self.bgImageView.image = [UIImage imageNamed:@"coupon_bg"];
        [self.couponBgView addSubview:self.bgImageView];
        
        //3躏哩、兌換券圖片
        self.exchangeImageView = [[UIImageView alloc] init];
        [self.couponBgView addSubview:self.exchangeImageView];
        
        //4、兌換券提示
        self.tsLabel = [[UILabel alloc] init];
        self.tsLabel.text = @"是否現(xiàn)在使用該券";
        self.tsLabel.textAlignment = NSTextAlignmentCenter;
        self.tsLabel.font = [UIFont systemFontOfSize:13.0];
        self.tsLabel.textColor = RWTitleColor(0, 0, 0);
        [self.couponBgView addSubview:self.tsLabel];
        
        //5揉燃、兌換天數(shù)
        self.exchangeLabel = [[UILabel alloc] init];
//        self.exchangeLabel.text = @"為您開通 7 天的VIP會員";
        self.exchangeLabel.textAlignment = NSTextAlignmentCenter;
        self.exchangeLabel.font = [UIFont systemFontOfSize:15.0];
        self.exchangeLabel.textColor = RWTitleColor(107, 113, 113);
        [self.couponBgView addSubview:self.exchangeLabel];
        
        //6扫尺、確定按鈕
        self.defineButton = [[UIButton alloc] init];
        [self.defineButton setTitle:@"確定使用" forState:UIControlStateNormal];
        [self.defineButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
        self.defineButton.titleLabel.font = [UIFont systemFontOfSize:18.0];
        self.defineButton.titleLabel.textAlignment = NSTextAlignmentCenter;
        [self.defineButton setBackgroundImage:[UIImage imageNamed:@"coupon_queding"] forState:UIControlStateNormal];
        //確定按鈕事件
        [self.defineButton addTarget:self action:@selector(defineButtonClick:) forControlEvents:UIControlEventTouchUpInside];
        [self.couponBgView addSubview:self.defineButton];
        
        //7、關(guān)閉按鈕
        self.closeButton = [[UIButton alloc] init];
        [self.closeButton setImage:[UIImage imageNamed:@"coupon_close"] forState:UIControlStateNormal];
        //關(guān)閉按鈕事件
        [self.closeButton addTarget:self action:@selector(closeButtonClick:) forControlEvents:UIControlEventTouchUpInside];
        [self.couponBgView addSubview:self.closeButton];
        
    }
    return self;
}

- (void)layoutSubviews {
    [super layoutSubviews];
    //防止在block中循環(huán)引用
    __unsafe_unretained __typeof(self) weakSelf = self;
    
    //0炊汤、透明背景View
    [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_equalTo(0);
        make.left.mas_equalTo(0);
        make.right.mas_equalTo(0);
        make.bottom.mas_equalTo(0);
    }];
    
    //1正驻、背景View
    [self.couponBgView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerX.mas_equalTo(weakSelf.mas_centerX);
        make.centerY.mas_equalTo(weakSelf.mas_centerY);
        make.width.mas_equalTo(302);
        make.height.mas_equalTo(247);
    }];
    
    //2、背景圖片
    [self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_equalTo(0);
        make.left.mas_equalTo(0);
        make.bottom.mas_equalTo(0);
        make.right.mas_equalTo(0);
    }];
    
    //3抢腐、兌換券圖片
    [self.exchangeImageView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_equalTo(0);
        make.left.mas_equalTo(0);
        make.right.mas_equalTo(0);
        make.height.mas_equalTo(100);
    }];
    
    //4拨拓、兌換券提示
    [self.tsLabel mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_equalTo(weakSelf.exchangeImageView.mas_bottom).offset(20);
        make.left.mas_equalTo(0);
        make.right.mas_equalTo(0);
        make.height.mas_equalTo(20);
    }];
    
    //5、兌換天數(shù)
    [self.exchangeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_equalTo(weakSelf.tsLabel.mas_bottom).offset(10);
        make.left.mas_equalTo(0);
        make.right.mas_equalTo(0);
        make.height.mas_equalTo(30);
    }];
    
    //6氓栈、確定按鈕
    [self.defineButton mas_makeConstraints:^(MASConstraintMaker *make) {
        make.bottom.mas_equalTo(-8);
        make.left.mas_equalTo(30);
        make.height.mas_equalTo(40);
        make.right.mas_equalTo(-30);
    }];
    
    //7渣磷、關(guān)閉按鈕
    [self.closeButton mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.mas_equalTo(270);
        make.top.mas_equalTo(-25);
        make.height.mas_equalTo(50);
        make.width.mas_equalTo(50);
    }];
}

#pragma mark - 關(guān)閉按鈕事件
/**
 * 關(guān)閉按鈕事件
 */
- (void)closeButtonClick:(UIButton *) closeButton {
    NSLog(@"點(diǎn)擊了關(guān)閉按鈕");
    if ([self.delegate respondsToSelector:@selector(exchangeCouponViewDelegate:addColseButton:)]) {
        [self.delegate exchangeCouponViewDelegate:self addColseButton:closeButton];
    }
}

#pragma mark - 確定按鈕事件
/**
 * 確定按鈕事件
 */
- (void)defineButtonClick:(UIButton *) defineButton {
    NSLog(@"點(diǎn)擊了確定按鈕");
    if ([self.delegate respondsToSelector:@selector(exchangeCouponViewDelegate:addDefineButton:)]) {
        [self.delegate exchangeCouponViewDelegate:self addDefineButton:defineButton];
    }

}

- (void)setCoupon:(BeanCoupon *)coupon {
    _coupon = coupon;
    //設(shè)置兌換圖片
    [self.exchangeImageView sd_setImageWithURL:[NSURL URLWithString:[coupon getCouponSmallImgUrl]] placeholderImage:[UIImage imageNamed:@"imgMid"]];
    
    //設(shè)置兌換天數(shù)
    self.exchangeLabel.text = [NSString stringWithFormat:@"為您開通%@天的VIP會員", [coupon getVipDays]];
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市授瘦,隨后出現(xiàn)的幾起案子醋界,更是在濱河造成了極大的恐慌,老刑警劉巖提完,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件形纺,死亡現(xiàn)場離奇詭異,居然都是意外死亡徒欣,警方通過查閱死者的電腦和手機(jī)逐样,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來打肝,“玉大人脂新,你說我怎么就攤上這事〈炙螅” “怎么了争便?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長断医。 經(jīng)常有香客問我滞乙,道長奏纪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任斩启,我火速辦了婚禮序调,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘兔簇。我一直安慰自己发绢,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布男韧。 她就那樣靜靜地躺著朴摊,像睡著了一般默垄。 火紅的嫁衣襯著肌膚如雪此虑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天口锭,我揣著相機(jī)與錄音朦前,去河邊找鬼。 笑死鹃操,一個(gè)胖子當(dāng)著我的面吹牛韭寸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播荆隘,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼恩伺,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了椰拒?” 一聲冷哼從身側(cè)響起晶渠,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎燃观,沒想到半個(gè)月后褒脯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡缆毁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年番川,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脊框。...
    茶點(diǎn)故事閱讀 38,643評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡颁督,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出浇雹,到底是詐尸還是另有隱情适篙,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布箫爷,位于F島的核電站嚷节,受9級特大地震影響聂儒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜硫痰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一衩婚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧效斑,春花似錦非春、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至敌完,卻和暖如春储耐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背滨溉。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工什湘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人晦攒。 一個(gè)月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓闽撤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親脯颜。 傳聞我的和親對象是個(gè)殘疾皇子哟旗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件栋操、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,064評論 4 62
  • 一闸餐、單例模式介紹 二、單例模式代碼實(shí)例
    成功的失敗者閱讀 162評論 0 0
  • 博客地址 在上一篇博客Cocoa RunLoop 系列之基礎(chǔ)知識介紹了RunLoop的InpuSource有兩種:...
    IcebergHorseman閱讀 655評論 2 1
  • 清月未現(xiàn)只留銀輝在云隙嗚咽看不見前面浸泡著溫泉孩童的笑音在地面肆虐淹沒了房屋模糊了山麓 濃云瘋了地壓摧濃霧死了地凝...
    林余雙閱讀 187評論 0 3