12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- //
- // KBSearchTitleView.m
- // YouHuiProject
- //
- // Created by 小花 on 2018/2/6.
- // Copyright © 2018年 kuxuan. All rights reserved.
- //
- #import "KBSearchTitleView.h"
- #import "MarqueeLabel.h"
- typedef void (^clickBlock)(void);
- typedef void (^closeBlock)(void);
- @interface KBSearchTitleView ()
- @property (nonatomic, copy) clickBlock clickblock;
- @end
- @implementation KBSearchTitleView
- - (instancetype)initWithFrame:(CGRect)frame searchName:(NSString *)searchName click:(void (^)(void))clickBlock{
- self = [super initWithFrame:frame];
- if (self) {
- self.clickblock = clickBlock;
- self.backgroundColor = [UIColor YHColorWithHex:0xeeeeee];
- self.layer.cornerRadius = frame.size.height/2;
- UIImageView *searchIcon = [[UIImageView alloc] initWithFrame:CGRectMake(15, 0, 20, 20)];
- searchIcon.image = [UIImage imageNamed:@"search_gray_small"];
- [self addSubview:searchIcon];
- searchIcon.centerY = self.centerY;
-
- NSMutableAttributedString *attStr = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@ ",searchName]];
- [attStr addAttribute:NSForegroundColorAttributeName value:[UIColor whiteColor] range:NSMakeRange(0, attStr.length)];
- [attStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:14] range:NSMakeRange(0, attStr.length)];
-
- NSTextAttachment *attach = [[NSTextAttachment alloc] init];
- attach.image = [UIImage imageNamed:@"text_close"];
- attach.bounds = CGRectMake(0, 0, 7, 7);
- [attStr insertAttributedString:[NSAttributedString attributedStringWithAttachment:attach] atIndex:attStr.length];
-
- CGSize size = [PublicFunction getAutoWidthWith:searchName andSize:CGSizeMake(MAXFLOAT, 25) andFont:14];
- if (size.width > self.width-150) {
- size.width = self.width-150;
- }
-
- MarqueeLabel *searchText = [[MarqueeLabel alloc] initWithFrame:CGRectMake(40, 0, size.width+35, 25)];
- searchText.attributedText = attStr;
- searchText.backgroundColor = [UIColor colorWithRed:146/255.0 green:146/255.0 blue:146/255.0 alpha:1];
- searchText.layer.cornerRadius = 3;
- searchText.layer.masksToBounds = YES;
- searchText.centerY = self.centerY;
- searchText.textAlignment = NSTextAlignmentCenter;
- searchText.scrollDuration = 8.0;
- searchText.fadeLength = .0f;
- searchText.trailingBuffer = 10.f;
- searchText.animationDelay = 2.0f;
- searchText.userInteractionEnabled = YES;
- UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(closeAction:)];
- [searchText addGestureRecognizer:tap];
- [self addSubview:searchText];
-
- UITapGestureRecognizer *tapView = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(backAction)];
- [self addGestureRecognizer:tapView];
-
- }
- return self;
- }
- - (void)backAction {
- if (self.clickblock) {
- self.clickblock();
- }
- }
- - (void)closeAction:(UIButton *)sender {
- if (self.closeBlock) {
- self.closeBlock();
- }
- }
- - (CGSize)intrinsicContentSize
- {
-
- return CGSizeMake(200, 40);
-
- }
- @end
|