153 lines
4.6 KiB
Objective-C
153 lines
4.6 KiB
Objective-C
//
|
|
// XPNewHomeNavView.m
|
|
// YuMi
|
|
//
|
|
// Created by YuMi on 2022/10/8.
|
|
//
|
|
|
|
#import "XPNewHomeNavView.h"
|
|
///Third
|
|
#import <Masonry/Masonry.h>
|
|
///Tool
|
|
#import "DJDKMIMOMColor.h"
|
|
#import "YUMIMacroUitls.h"
|
|
|
|
|
|
@interface XPNewHomeNavView ()
|
|
@property (nonatomic,strong) UIView *searchView;
|
|
@property (nonatomic,strong) UIImageView *searchImageView;
|
|
@property (nonatomic,strong) UILabel *searchLabel;
|
|
@property (nonatomic,strong) UIButton *rankButton;
|
|
@property (nonatomic,strong) UIButton *opeRoomButton;
|
|
@end
|
|
|
|
@implementation XPNewHomeNavView
|
|
|
|
|
|
- (instancetype)initWithFrame:(CGRect)frame {
|
|
self = [super initWithFrame:frame];
|
|
if (self) {
|
|
[self initSubViews];
|
|
[self initSubViewConstraints];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
#pragma mark - Private Method
|
|
- (void)initSubViews {
|
|
[self addSubview:self.searchView];
|
|
[self addSubview:self.opeRoomButton];
|
|
[self addSubview:self.rankButton];
|
|
|
|
[self.searchView addSubview:self.searchImageView];
|
|
[self.searchView addSubview:self.searchLabel];
|
|
}
|
|
|
|
- (void)initSubViewConstraints {
|
|
|
|
[self.searchView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.left.mas_equalTo(self).offset(15);
|
|
make.height.mas_equalTo(32);
|
|
make.top.mas_equalTo(self).offset(statusbarHeight + 6);
|
|
make.right.mas_equalTo(self.rankButton.mas_left).offset(-15);
|
|
}];
|
|
|
|
[self.searchImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.width.mas_equalTo(16);
|
|
make.height.mas_equalTo(16);
|
|
make.left.mas_equalTo(self.searchView).offset(15);
|
|
make.centerY.mas_equalTo(self.searchView);
|
|
}];
|
|
|
|
[self.searchLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.left.mas_equalTo(self.searchImageView.mas_right).offset(7);
|
|
make.centerY.mas_equalTo(self.searchView);
|
|
}];
|
|
|
|
[self.opeRoomButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.width.mas_equalTo(30);
|
|
make.height.mas_equalTo(32);
|
|
make.centerY.mas_equalTo(self.searchView);
|
|
make.right.mas_equalTo(self).offset(-15);
|
|
}];
|
|
|
|
[self.rankButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.width.height.centerY.mas_equalTo(self.opeRoomButton);
|
|
make.right.mas_equalTo(self.opeRoomButton.mas_left).offset(-12);
|
|
}];
|
|
}
|
|
|
|
#pragma mark - Event Response
|
|
- (void)openRoomButtonAction:(UIButton *)sender {
|
|
if (self.delegate && [self.delegate respondsToSelector:@selector(xPNewHomeNavView:didClickOpenRoom:)]) {
|
|
[self.delegate xPNewHomeNavView:self didClickOpenRoom:sender];
|
|
}
|
|
}
|
|
|
|
- (void)rankButtonAction:(UIButton *)sender {
|
|
if (self.delegate && [self.delegate respondsToSelector:@selector(xPNewHomeNavView:didClickRank:)]) {
|
|
[self.delegate xPNewHomeNavView:self didClickRank:sender];
|
|
}
|
|
}
|
|
|
|
- (void)tapRecognizer {
|
|
if (self.delegate && [self.delegate respondsToSelector:@selector(xPNewHomeNavView:didClickSearch:)]) {
|
|
[self.delegate xPNewHomeNavView:self didClickSearch:self.searchView];
|
|
}
|
|
}
|
|
|
|
#pragma mark - Getters And Setters
|
|
- (UIView *)searchView {
|
|
if (!_searchView) {
|
|
_searchView = [[UIView alloc] init];
|
|
_searchView.backgroundColor = [UIColor colorWithWhite:1 alpha:0.5];
|
|
_searchView.layer.cornerRadius = 16;
|
|
_searchView.layer.masksToBounds = YES;
|
|
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapRecognizer)];
|
|
[_searchView addGestureRecognizer:tap];
|
|
}
|
|
return _searchView;
|
|
}
|
|
|
|
- (UIImageView *)searchImageView {
|
|
if (!_searchImageView) {
|
|
_searchImageView = [[UIImageView alloc] init];
|
|
_searchImageView.userInteractionEnabled = YES;
|
|
_searchImageView.image = [UIImage imageNamed:@"home_nav_search"];
|
|
}
|
|
return _searchImageView;
|
|
}
|
|
|
|
- (UILabel *)searchLabel {
|
|
if (!_searchLabel) {
|
|
_searchLabel = [[UILabel alloc] init];
|
|
_searchLabel.font = [UIFont systemFontOfSize:12];
|
|
_searchLabel.textColor = [DJDKMIMOMColor secondTextColor];
|
|
_searchLabel.text = YMLocalizedString(@"XPNewHomeNavView0");
|
|
}
|
|
return _searchLabel;
|
|
}
|
|
|
|
- (UIButton *)opeRoomButton {
|
|
if (!_opeRoomButton) {
|
|
_opeRoomButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
|
[_opeRoomButton setImage:[UIImage imageNamed:@"home_nav_open_room"] forState:UIControlStateNormal];
|
|
[_opeRoomButton setImage:[UIImage imageNamed:@"home_nav_open_room"] forState:UIControlStateSelected];
|
|
[_opeRoomButton addTarget:self action:@selector(openRoomButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
|
}
|
|
return _opeRoomButton;
|
|
}
|
|
|
|
- (UIButton *)rankButton {
|
|
if (!_rankButton) {
|
|
_rankButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
|
[_rankButton setImage:[UIImage imageNamed:@"home_nav_rank"] forState:UIControlStateNormal];
|
|
[_rankButton setImage:[UIImage imageNamed:@"home_nav_rank"] forState:UIControlStateSelected];
|
|
[_rankButton addTarget:self action:@selector(rankButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
|
}
|
|
return _rankButton;
|
|
}
|
|
|
|
|
|
@end
|