You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
141 lines
2.9 KiB
141 lines
2.9 KiB
4 years ago
|
//
|
||
|
// TFComicBrowseMenuView.m
|
||
|
// TFReader
|
||
|
//
|
||
|
// Created by 谢腾飞 on 2020/12/16.
|
||
|
// Copyright © 2020 xtfei_2011@126.com. All rights reserved.
|
||
|
//
|
||
|
|
||
|
#import "TFComicBrowseMenuView.h"
|
||
|
#import "TFComicBrowseTopBar.h"
|
||
|
#import "TFComicBrowseBottomBar.h"
|
||
|
|
||
|
@interface TFComicBrowseMenuView ()
|
||
|
{
|
||
|
TFComicBrowseTopBar *topBar;
|
||
|
TFComicBrowseBottomBar *bottomBar;
|
||
|
}
|
||
|
@end
|
||
|
|
||
|
@implementation TFComicBrowseMenuView
|
||
|
|
||
|
implementation_singleton(TFComicBrowseMenuView)
|
||
|
|
||
|
- (instancetype)init
|
||
|
{
|
||
|
if (self = [super init]) {
|
||
|
|
||
|
[self initialize];
|
||
|
|
||
|
[self createSubViews];
|
||
|
}
|
||
|
return self;
|
||
|
}
|
||
|
|
||
|
- (void)initialize
|
||
|
{
|
||
|
self.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||
|
self.backgroundColor = [UIColor clearColor];
|
||
|
self.userInteractionEnabled = YES;
|
||
|
|
||
|
self.isShowing = NO;
|
||
|
}
|
||
|
|
||
|
- (void)createSubViews
|
||
|
{
|
||
|
topBar = [[TFComicBrowseTopBar alloc] init];
|
||
|
[self addSubview:topBar];
|
||
|
|
||
|
bottomBar = [[TFComicBrowseBottomBar alloc] init];
|
||
|
[self addSubview:bottomBar];
|
||
|
}
|
||
|
|
||
|
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
|
||
|
{
|
||
|
[self hiddenMenuView];
|
||
|
}
|
||
|
|
||
|
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
|
||
|
{
|
||
|
UIView *touchView = [super hitTest:point withEvent:event];
|
||
|
if (CGRectContainsPoint(topBar.bounds, point)) {
|
||
|
if ([touchView isKindOfClass:[UIButton class]]) {
|
||
|
return touchView;
|
||
|
}
|
||
|
return nil;
|
||
|
}
|
||
|
|
||
|
if ([touchView isDescendantOfView:bottomBar]) {
|
||
|
return touchView;
|
||
|
}
|
||
|
return nil;
|
||
|
}
|
||
|
|
||
|
- (void)autoShowOrHiddenMenuView
|
||
|
{
|
||
|
if (!self.isShowing) {
|
||
|
[self showMenuView];
|
||
|
} else {
|
||
|
[self hiddenMenuView];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
- (void)showMenuView
|
||
|
{
|
||
|
[bottomBar reloadCollectionState];
|
||
|
if (self.isShowing) {
|
||
|
return;
|
||
|
}
|
||
|
self.isShowing = YES;
|
||
|
[topBar showMenuTopBar];
|
||
|
[bottomBar showMenuBottomBar];
|
||
|
[TFViewHelper setStateBarDefaultStyle];
|
||
|
[UIApplication sharedApplication].statusBarHidden = NO;
|
||
|
}
|
||
|
|
||
|
- (void)hiddenMenuView
|
||
|
{
|
||
|
if (!self.isShowing) {
|
||
|
return;
|
||
|
}
|
||
|
self.isShowing = NO;
|
||
|
[topBar hiddenMenuTopBar];
|
||
|
[bottomBar hiddenMenuBottomBar];
|
||
|
[UIApplication sharedApplication].statusBarHidden = YES;
|
||
|
}
|
||
|
|
||
|
- (void)startLoadingData
|
||
|
{
|
||
|
[bottomBar startLoadingData];
|
||
|
}
|
||
|
|
||
|
- (void)stopLoadingData
|
||
|
{
|
||
|
[bottomBar stopLoadingData];
|
||
|
}
|
||
|
|
||
|
- (void)setComicChapterModel:(TFProductionChapterModel *)comicChapterModel
|
||
|
{
|
||
|
_comicChapterModel = comicChapterModel;
|
||
|
|
||
|
if (comicChapterModel) {
|
||
|
[topBar setNavTitle:comicChapterModel.chapter_title?:self.productionModel.name];
|
||
|
bottomBar.comicChapterModel = comicChapterModel;
|
||
|
} else {
|
||
|
[topBar setNavTitle:@""];
|
||
|
bottomBar.comicChapterModel = comicChapterModel;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
- (void)setProductionModel:(TFProductionModel *)productionModel
|
||
|
{
|
||
|
if (_productionModel != productionModel) {
|
||
|
_productionModel = productionModel;
|
||
|
|
||
|
bottomBar.productionModel = productionModel;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@end
|