ifish/Ifish/views/StoreNameView.m

165 lines
5.0 KiB
Objective-C

//
// StoreNameView.m
// Ifish
//
// Created by 祝发冬 on 2020/4/20.
// Copyright © 2020 lianlian. All rights reserved.
//
#import "StoreNameView.h"
@implementation StoreNameView
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
-(void)awakeFromNib
{
[super awakeFromNib];
self.layer.borderWidth=0.5;
self.layer.borderColor=[UIColor lightGrayColor].CGColor;
self.titleLabel.layer.borderColor=[UIColor lightGrayColor].CGColor;
self.titleLabel.layer.borderWidth=0.5;
self.storeNameField.layer.borderColor=[UIColor lightGrayColor].CGColor;
self.storeNameField.layer.borderWidth=0.5;
self.autoresizingMask=UIViewAutoresizingNone;
self.autoresizesSubviews=NO;
UIButton*more=[UIButton buttonWithType:UIButtonTypeCustom];
more.frame=CGRectMake(0, 0, 30, 30);
[more setImage:[UIImage imageNamed:@"xialasanjiao"] forState:UIControlStateNormal];
[more addTarget:self action:@selector(showStoreName:) forControlEvents:UIControlEventTouchUpInside];
self.oldStoreNameField.layer.borderColor=[UIColor lightGrayColor].CGColor;
self.oldStoreNameField.layer.borderWidth=0.5;
self.oldStoreNameField.delegate=self;
self.oldStoreNameField.clearButtonMode=UITextFieldViewModeAlways;
self.oldStoreNameField.rightViewMode=UITextFieldViewModeAlways;
self.cancelButton.layer.borderColor=[UIColor lightGrayColor].CGColor;
self.oldStoreNameField.rightView=more;
self.cancelButton.layer.borderWidth=0.5;
self.cancelButton.layer.masksToBounds=YES;
self.sureButton.layer.borderColor=[UIColor lightGrayColor].CGColor;
self.sureButton.layer.borderWidth=0.5;
self.sureButton.layer.masksToBounds=YES;
self.sureButton.layer.cornerRadius=5;
self.cancelButton.layer.cornerRadius=5;
[self.sureButton addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
[self.cancelButton addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
NSDictionary*dict=[[DataCenter defaultDtacenter] valueForKey:@"petStores"];
NSArray *titles=dict.allKeys;
self.titles=titles;
self.tableView = [[UITableView alloc] init];
self.tableView.frame = CGRectMake(0, 0, self.frame.size.width, titles.count>3?3*44:titles.count*44);
//self.tableView.frame = CGRectMake(0,12.0, self.frame.size.width, self.frame.size.height);
self.tableView.delegate = self;
self.tableView.dataSource = self;
}
-(void)click:(UIButton*)buton
{
[self.popover dismiss];
if (buton.tag==1)
{
if (self.cancelBlock) {
self.cancelBlock();
}
}
else
{
if (self.sureBlock) {
NSString*name;
if (self.storeNameField.text.length)
{
name=self.storeNameField.text;
}
else if(self.oldStoreNameField.text.length)
{
name=self.oldStoreNameField.text;
}
else
{
[self makeToast:@"请输入或者选择名称!"];
}
if (name.length) {
self.sureBlock(name);
}
}
}
}
-(void)showStoreName:(UIButton*)button
{
if (self.titles.count)
{
self.tableView.frame = CGRectMake(0, 0, self.frame.size.width-40, self.titles.count>2?2*44:self.titles.count*44);
DXPopover *popover = [DXPopover new];
self.tableView.layer.masksToBounds=YES;
self.popover = popover;
self.popover.backgroundColor = [UIColor lightGrayColor];
self.popover.cornerRadius=10;
popover.arrowSize = CGSizeMake(5,5);
[popover showAtPoint:CGPointMake(self.oldStoreNameField.center.x, self.oldStoreNameField.center.y+15) popoverPostion:DXPopoverPositionDown withContentView:self.tableView inView:self];
}
else
{
[self makeToast:@"不存在其他宠物店"];
}
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString*model= self.titles[indexPath.row];
self.oldStoreNameField.text=model;
[self.popover dismiss];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.titles.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:@"storeName"];
NSString*model= self.titles[indexPath.row];
if (!cell)
{
cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"storeName"];
}
cell.textLabel.text=model;
return cell;
}
-(BOOL)textFieldShouldClear:(UITextField *)textField
{
return YES;
}
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
return NO;
}
@end