123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- //
- // TunerSettingView.m
- // KulexiuForStudent
- //
- // Created by 王智 on 2022/10/20.
- //
- #import "TunerSettingView.h"
- #import <UIView+Animation.h>
- #define MAXFREQUENCE (445)
- #define MINFREQUENCE (415)
- @interface TunerSettingView ()<UIGestureRecognizerDelegate>
- @property (weak, nonatomic) IBOutlet UIView *containerView;
- @property (weak, nonatomic) IBOutlet NSLayoutConstraint *containerWidth;
- @property (nonatomic, copy) TunerSettingCallback callback;
- @property (weak, nonatomic) IBOutlet UILabel *frequenceLabel;
- @end
- @implementation TunerSettingView
- - (void)awakeFromNib {
- [super awakeFromNib];
- UITapGestureRecognizer *tapGes = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGesture:)];
- [self addGestureRecognizer:tapGes];
- tapGes.delegate = self;
- if (IS_IPAD) {
- self.containerWidth.constant = 320;
- }
- }
- - (void)tapGesture: (UITapGestureRecognizer *)tapGesture {
- [self removeView];
- }
- -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
- if ([touch.view isDescendantOfView:self.containerView]) {
- return NO;
- }
- return YES;
- }
- + (instancetype)shareInstance {
- TunerSettingView *view = [[[NSBundle mainBundle] loadNibNamed:@"TunerSettingView" owner:nil options:nil] firstObject];
- return view;
- }
- - (void)tunerSettingAction:(TunerSettingCallback)callback {
- if (callback) {
- self.callback = callback;
- }
- }
- - (void)showView {
- [[NSObject getKeyWindow] addSubview:self];
- [self setPopAnimation];
- }
- - (void)removeView {
- [self removeFromSuperview];
- }
- - (IBAction)frequenceMinus:(id)sender {
- NSInteger frequence = self.A4Frequence;
- if (self.A4Frequence <= MINFREQUENCE) {
- return;
- }
- self.A4Frequence = frequence - 1;
- }
- - (IBAction)frequenceAdd:(id)sender {
- NSInteger frequence = self.A4Frequence;
- if (self.A4Frequence >= MAXFREQUENCE) {
- return;
- }
- self.A4Frequence = frequence + 1;
- }
- - (IBAction)resetFrequence:(id)sender {
- self.A4Frequence = DEFALUT_A4FREQUENCE;
- }
- - (IBAction)chooseInstrunemt:(id)sender {
- if (self.callback) {
- self.callback(TUNETSETTING_ACTION_INSTRUMENT, self.toneChangeRate, self.A4Frequence);
- }
- }
- - (IBAction)sureAtion:(id)sender {
- if (self.callback) {
- self.callback(TUNETSETTING_ACTION_SURE, self.toneChangeRate, self.A4Frequence);
- }
- [self removeView];
- }
- - (void)setA4Frequence:(NSInteger)A4Frequence {
- _A4Frequence = A4Frequence;
- self.frequenceLabel.text = [NSString stringWithFormat:@"%zdHz",A4Frequence];
- }
- /*
- // Only override drawRect: if you perform custom drawing.
- // An empty implementation adversely affects performance during animation.
- - (void)drawRect:(CGRect)rect {
- // Drawing code
- }
- */
- @end
|