PicScreenView.m 8.98 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
//
//  PicScreenView.m
//  redstar
//
//  Created by admin on 15/12/11.
//  Copyright © 2015年 ZWF. All rights reserved.
//

#import "PicScreenView.h"
#import "GroupItems.h"

#define SELECTED_VIEW_CONTROLLER_TAG 23656534

@interface PicScreenView ()<GroupTabBarDelegate, UITextViewDelegate>
@property (nonatomic, strong) UIView *backView;
@property (nonatomic, strong) UILabel *placeholderLabel1;
@property (nonatomic, strong) UILabel *placeholderLabel2;

@end

@implementation PicScreenView
- (instancetype)init
{
    self = [super init];
    if (self) {
        [self setup];
    }
    return self;
}

- (instancetype)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        [self setup];
    }
    return self;
}


- (void)setup
{
    
admin's avatar
admin committed
44
    self.groupTabBar = [[GroupTabBar alloc] initWithFrame:CGRectMake(0, 0, 100, 200)];
45 46 47 48 49
    _groupTabBar.delegate = self;
    [self addSubview:_groupTabBar];
    
    
    
admin's avatar
admin committed
50
    self.scopeTableView = [[ScopeTableView alloc] initWithTitle:[NSMutableArray arrayWithObjects:@"所有口碑", @"我的口碑", nil]];
admin's avatar
admin committed
51
    GroupItems *scopeItem = [[GroupItems alloc] initWithTitle:@"口碑范围" view:_scopeTableView];
52 53 54 55 56
    
    self.textView1 = [[UITextView alloc] init];
    _textView1.delegate = self;
    _textView1.tag = 9991;
    self.placeholderLabel1 = [[UILabel alloc] initWithFrame:CGRectMake(5, 0, 100, 30)];
admin's avatar
admin committed
57
    self.placeholderLabel1.text = @"请输入内容...";
58 59 60
    self.placeholderLabel1.font = [UIFont systemFontOfSize:15.0];
    self.placeholderLabel1.textColor = kOnLineCellDetailColor;
    [self.textView1 addSubview:self.placeholderLabel1];
admin's avatar
admin committed
61
    GroupItems *textViewItem1 = [[GroupItems alloc] initWithTitle:@"内容类似于" view:_textView1];
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
    
    self.textView2 = [[UITextView alloc] init];
    _textView2.delegate = self;
    _textView2.tag = 9992;
    self.placeholderLabel2 = [[UILabel alloc] initWithFrame:CGRectMake(5, 0, 100, 30)];
    self.placeholderLabel2.text = @"请输入关键字...";
    self.placeholderLabel2.font = [UIFont systemFontOfSize:15.0];
    self.placeholderLabel2.textColor = kOnLineCellDetailColor;
    [self.textView2 addSubview:self.placeholderLabel2];
    GroupItems *textViewItem2 = [[GroupItems alloc] initWithTitle:@"关键字类似于" view:_textView2];
    
    self.timeTableView = [[TimeTableView alloc] init];
    GroupItems *timeItem = [[GroupItems alloc] initWithTitle:@"时间段" view:_timeTableView];
    
    [self insertSubview:_scopeTableView belowSubview:_groupTabBar];
    [self insertSubview:_textView1 belowSubview:_groupTabBar];
    [self insertSubview:_textView2 belowSubview:_groupTabBar];
    [self insertSubview:_timeTableView belowSubview:_groupTabBar];
    
admin's avatar
admin committed
81
    _groupTabBar.items = @[scopeItem, textViewItem1, textViewItem2, timeItem];
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
    [_groupTabBar showIndex:0];
    
    self.backView.backgroundColor = [UIColor whiteColor];
    [self.resetBtn setTitle:@"重置" forState:UIControlStateNormal];
    [self.submitBtn setTitle:@"提交" forState:UIControlStateNormal];
    
}


- (void)switchView:(UIView *)view
{
    UIView *currentView = [self viewWithTag:SELECTED_VIEW_CONTROLLER_TAG];
    [currentView removeFromSuperview];
    currentView = nil;
    
    view.frame = CGRectMake(self.groupTabBar.frame.size.width,0,kScreenWidth - self.groupTabBar.frame.size.width, self.groupTabBar.size.height);
    
    view.tag = SELECTED_VIEW_CONTROLLER_TAG;
    
    [self insertSubview:view belowSubview:_groupTabBar];
    
}

- (UIView *)backView
{
    if (!_backView) {
        _backView = [[UIView alloc] init];
        _backView.translatesAutoresizingMaskIntoConstraints = NO;
        [self addSubview:_backView];
        
        NSLayoutConstraint *lineViewTop = [NSLayoutConstraint constraintWithItem:_backView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.groupTabBar attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0];
        [self addConstraint:lineViewTop];
        
        NSLayoutConstraint *lineViewRight = [NSLayoutConstraint constraintWithItem:_backView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeRight multiplier:1.0 constant:0];
        [self addConstraint:lineViewRight];
        
        NSLayoutConstraint *lineViewBottom = [NSLayoutConstraint constraintWithItem:_backView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0];
        [self addConstraint:lineViewBottom];
        
        NSLayoutConstraint *lineViewLeft = [NSLayoutConstraint constraintWithItem:_backView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0];
        [self addConstraint:lineViewLeft];
    }
    return _backView;
}

- (UIButton *)resetBtn
{
    if (!_resetBtn) {
        _resetBtn = [[UIButton alloc] init];
        _resetBtn.backgroundColor = [UIColor grayColor];
        _resetBtn.translatesAutoresizingMaskIntoConstraints = NO;
        _resetBtn.layer.cornerRadius = 4.0;
        [self.backView addSubview:_resetBtn];
        
        NSLayoutConstraint *lineViewTop = [NSLayoutConstraint constraintWithItem:_resetBtn attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.backView attribute:NSLayoutAttributeTop multiplier:1.0 constant:7.5];
        [self.backView addConstraint:lineViewTop];
        
        NSLayoutConstraint *lineViewRight = [NSLayoutConstraint constraintWithItem:_resetBtn attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.backView attribute:NSLayoutAttributeCenterX multiplier:1.0 constant:-20];
        [self.backView addConstraint:lineViewRight];
        
        NSLayoutConstraint *lineViewBottom = [NSLayoutConstraint constraintWithItem:_resetBtn attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.backView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-7.5];
        [self.backView addConstraint:lineViewBottom];
        
        NSLayoutConstraint *lineViewLeft = [NSLayoutConstraint constraintWithItem:_resetBtn attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.backView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:20];
        [self.backView addConstraint:lineViewLeft];
    }
    return _resetBtn;
}

- (UIButton *)submitBtn
{
    if (!_submitBtn) {
        _submitBtn = [[UIButton alloc] init];
        _submitBtn.backgroundColor = kNavigationBarColor;
        _submitBtn.translatesAutoresizingMaskIntoConstraints = NO;
        _submitBtn.layer.cornerRadius = 4.0;
        [self.backView addSubview:_submitBtn];
        
        NSLayoutConstraint *lineViewTop = [NSLayoutConstraint constraintWithItem:_submitBtn attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.backView attribute:NSLayoutAttributeTop multiplier:1.0 constant:7.5];
        [self.backView addConstraint:lineViewTop];
        
        NSLayoutConstraint *lineViewRight = [NSLayoutConstraint constraintWithItem:_submitBtn attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.backView attribute:NSLayoutAttributeRight multiplier:1.0 constant:-20];
        [self.backView addConstraint:lineViewRight];
        
        NSLayoutConstraint *lineViewBottom = [NSLayoutConstraint constraintWithItem:_submitBtn attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.backView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-7.5];
        [self.backView addConstraint:lineViewBottom];
        
        NSLayoutConstraint *lineViewLeft = [NSLayoutConstraint constraintWithItem:_submitBtn attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.backView attribute:NSLayoutAttributeCenterX multiplier:1.0 constant:20];
        [self.backView addConstraint:lineViewLeft];
    }
    return _submitBtn;
}

#pragma mark - UITextView Delegate
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
    if (![text isEqualToString:@""]) {
        if (textView.tag == 9991) {
            self.placeholderLabel1.hidden = YES;
        } else {
            self.placeholderLabel2.hidden = YES;
        }
    }
    
    if ([text isEqualToString:@""] && range.location == 0 && range.length == 1) {
        if (textView.tag == 9991) {
            self.placeholderLabel1.hidden = NO;
        } else {
            self.placeholderLabel2.hidden = NO;
        }
    }
    
    if ([text isEqualToString:@"\n"]) {
        [self.textView1 resignFirstResponder];
        [self.textView2 resignFirstResponder];
        
        if (textView.tag == 9991) {
            if (textView.text.length != 0) {
                self.placeholderLabel1.hidden = YES;
            } else {
                self.placeholderLabel1.hidden = NO;
            }
        } else {
            if (textView.text.length != 0) {
                self.placeholderLabel2.hidden = YES;
            } else {
                self.placeholderLabel2.hidden = NO;
            }
        }
        return NO;
    }
    
    return YES;
}

@end