// // 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