123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- //
- // HWBookmarkHeader.m
- // 双子星云手机
- //
- // Created by 余衡武 on 2022/3/24.
- //
- #import "HWBookmarkHeader.h"
- @interface HWBookmarkHeader ()
- @property (nonatomic,strong) UILabel *titleLabel;
- @property (nonatomic,strong) UIButton *expandBtn;
- @property (nonatomic,strong) UIView *lineView;
- @property (nonatomic,strong) UIButton *deleteBtn;
- @end
- @implementation HWBookmarkHeader
- - (instancetype)initWithFrame:(CGRect)frame
- {
- self = [super initWithFrame:frame];
- if (self)
- {
- [self drawAnyView];
- }
-
- return self;
- }
- - (void)drawAnyView {
- UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_W - 30, 50)];
- header.backgroundColor = [UIColor hwColor:@"#1C1C1E"];
- header.layer.mask = [iTools getCornerRoundWithSelfView:header byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRect:CGRectMake(0, 0, SCREEN_W - 30, 50)];
- [self addSubview:header];
-
- UIButton *expandBtn = [UIButton buttonWithType:(UIButtonTypeCustom)];
- [expandBtn setImage:[UIImage imageNamed:@"Icon06"] forState:(UIControlStateNormal)];
- [expandBtn setImage:[UIImage imageNamed:@"Icon05"] forState:(UIControlStateSelected)];
- expandBtn.userInteractionEnabled = NO;
- [expandBtn setImageEdgeInsets:UIEdgeInsetsMake(0, 10, 0, 0)];
- [header addSubview:expandBtn];
- self.expandBtn = expandBtn;
- [expandBtn mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.mas_equalTo(0);
- make.width.mas_equalTo(35);
- make.height.mas_equalTo(35);
- make.centerY.mas_equalTo(header.mas_centerY);
- }];
-
- UILabel *titleLabel = [[UILabel alloc] init];
- titleLabel.font = [UIFont systemFontOfSize:15];
- titleLabel.numberOfLines = 1;
- titleLabel.textColor = HWFFFFFF80Color;
- titleLabel.textAlignment = NSTextAlignmentLeft;
- [header addSubview:titleLabel];
- self.titleLabel = titleLabel;
- [titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.mas_equalTo(35);
- make.right.mas_equalTo(20);
- make.centerY.mas_equalTo(header.mas_centerY);
- }];
-
- UIView *lineView = [[UIView alloc] init];
- lineView.backgroundColor = HWFFFFFF08Color;
- [header addSubview:lineView];
- self.lineView = lineView;
- [lineView mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.mas_equalTo(35);
- make.right.mas_equalTo(-35);
- make.bottom.mas_equalTo(0);
- make.height.mas_equalTo(1);
- }];
-
- UIButton *deleteBtn = [UIButton buttonWithType:(UIButtonTypeCustom)];
- [deleteBtn setImage:[UIImage imageNamed:@"shanchu_icon"] forState:(UIControlStateNormal)];
- [deleteBtn addTarget:self action:@selector(deleteBtnClick:) forControlEvents:(UIControlEventTouchUpInside)];
- [deleteBtn setImageEdgeInsets:UIEdgeInsetsMake(0, 10, 0, 0)];
- [header addSubview:deleteBtn];
- self.deleteBtn = deleteBtn;
- deleteBtn.hidden = YES;
- [deleteBtn mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.mas_equalTo(0);
- make.width.mas_equalTo(35);
- make.height.mas_equalTo(35);
- make.centerY.mas_equalTo(header.mas_centerY);
- }];
- }
- - (void)setNormalModel {
-
- self.deleteBtn.hidden = YES;
-
- [self.expandBtn mas_updateConstraints:^(MASConstraintMaker *make) {
- make.left.mas_equalTo(0);
- }];
- [self.titleLabel mas_updateConstraints:^(MASConstraintMaker *make) {
- make.left.mas_equalTo(35);
- }];
- }
- - (void)setDeleteModel {
-
- self.deleteBtn.hidden = NO;
-
- [self.expandBtn mas_updateConstraints:^(MASConstraintMaker *make) {
- make.left.mas_equalTo(25);
- }];
- [self.titleLabel mas_updateConstraints:^(MASConstraintMaker *make) {
- make.left.mas_equalTo(60);
- }];
- }
- - (void)setFolderModel:(HWFolderModel *)folderModel {
-
- _folderModel = folderModel;
-
- [self addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(headerDidClick:)]];
-
- self.titleLabel.text = folderModel.name;
- self.expandBtn.selected = folderModel.isExpand;
-
- // 编辑模式
- if (folderModel.isEditing) {
- [self setDeleteModel];
- }else {
- [self setNormalModel];
- }
-
- if (folderModel.isExpand && folderModel.bookmarkArray.count != 0) {
- self.lineView.hidden = NO;
- }else {
- self.layer.mask = [iTools getCornerRoundWithSelfView:self byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight cornerRect:CGRectMake(0, 0, SCREEN_W - 30, 50)];
- self.lineView.hidden = YES;
- }
- }
- - (void)deleteBtnClick:(UIButton *)btn {
- HLog(@"删除");
- if ([_delegate respondsToSelector:@selector(bookmarkHeaderDidClickDeleteBtn:)]) {
- [_delegate bookmarkHeaderDidClickDeleteBtn:self.folderModel];
- }
- }
- - (void)headerDidClick:(UITapGestureRecognizer *)tap {
-
- self.expandBtn.selected = !self.expandBtn.selected;
- self.folderModel.isExpand = self.expandBtn.selected;
-
- if ([_delegate respondsToSelector:@selector(bookmarkHeaderDidClickExpandBtn:)]) {
- [_delegate bookmarkHeaderDidClickExpandBtn:self.folderModel];
- }
- }
- @end
|