• 2016 -03 -07 搜索功能 模糊查询


    //gzz0307

    -(void)maketitleView11{

        UIView * titleView =[[UIView alloc]initWithFrame:CGRectMake(0, 0, ConentViewWidth - 0 , 54)];

        

        searchTextField = [[UITextField alloc]initWithFrame:CGRectMake(10,10, titleView.frame.size.width20, 44)];

        searchTextField.delegate =self;

        

        [searchTextField.layer setMasksToBounds:YES];

        searchTextField.placeholder = @"请输入搜索内容";

        [searchTextField.layer setCornerRadius:6];

        searchTextField.font =[UIFont systemFontOfSize:15];

        

        searchTextField.layer.borderWidth = 1;

        

        CGColorSpaceRef colorO = CGColorSpaceCreateDeviceRGB();

        CGColorRef colorA = CGColorCreate(colorO, (CGFloat[]){0.78,0.78,0.78,1});

        [searchTextField.layer setBorderColor:colorA];

        [titleView addSubview:searchTextField];

        

        UIButton *SearchBtn = [[UIButton alloc]initWithFrame:CGRectMake(titleView.frame.size.width - 45, 20, 23, 23)];

        

        [SearchBtn setImage:[UIImage imageNamed:@"sousuo"] forState:UIControlStateNormal];

        [SearchBtn addTarget:self action:@selector(seacherAction11:) forControlEvents:UIControlEventTouchUpInside];

        [titleView addSubview:SearchBtn];

        [self.view addSubview:titleView];

    }

     

    //gzzz0307

    -(void)seacherAction11:(NSString *)str{

        [self.view endEditing:YES];

        NSLog(@"点击框");

     

        

        if (_isSendmessage) {

            NSLog(@"什么也不做");

        }else{

            NSLog(@"搜索 ///dicMugzz");

            [searchTextField resignFirstResponder];

            

            if (searchTextField.text.length ==0) {

    //            ResultDadaArray  = self.SoureDataArray;

                dicMugzz = [[AddressBookManager sharedInstance] NewallContactsBySorted];

     

                [self.tableView reloadData];

                return ;

            }

    //        NSMutableArray * seaArray =[[NSMutableArray alloc]initWithArray:self.SoureDataArray];

            NSMutableDictionary *tmpDic=[NSMutableDictionary dictionary];

            tmpDic=[[AddressBookManager sharedInstance] NewallContactsBySorted];

            NSString * searchStr =[KCPinyinHelper pinyinFromChiniseString:searchTextField.text];

            

            if (dicMugzz.count > 0) {

                [dicMugzz removeAllObjects];

                

            }

            [dataDicGzz  removeAllObjects];

            

                NSArray *allkeyss= [[[AddressBookManager sharedInstance] NewallContactsBySorted] allKeys];

                NSLog(@"allkeys===%@",allkeyss);

        

                

                for (int i=0; i<allkeyss.count; i++) {

                    NSString *strKey=[allkeyss objectAtIndex:i];

                    NSMutableArray *addArr=[tmpDic objectForKey:[NSString stringWithFormat:@"%@",strKey]];

                    NSMutableArray *arrMubook=[NSMutableArray array];

     

                    for (int j=0; j<addArr.count; j++) {

                        AddressBook  *addbook=[addArr objectAtIndex:j];

                        NSString  *pinStr=[KCPinyinHelper pinyinFromChiniseString:addbook.name];

                        if ([pinStr rangeOfString:searchStr].location == NSNotFound) {

                          NSLog(@"不包含 ===不做处理==");

                        } else {

                          NSLog(@"string存在 ====");

                            [arrMubook addObject:addbook];

                        

                        }

                        

                    

                    }

                    

                    

                    if (arrMubook.count>0) {

                        [dataDicGzz setObject:arrMubook forKey:strKey];

                    }

                    

                

                }

            if ([dataDicGzz count]>0) {

                self.localAddressBook=[NSMutableDictionary dictionaryWithDictionary:dataDicGzz];

            }

                [self.tableView reloadData];

     

        }

    }

     

     

     

    //第二个搜索

    -(void)seacherAction{

        NSLog(@"搜索");

        [searchTextField resignFirstResponder];

        

        if (searchTextField.text.length ==0) {

            ResultDadaArray  = self.SoureDataArray;

            [_TV reloadData];

            return ;

        }

        NSMutableArray * seaArray =[[NSMutableArray alloc]initWithArray:self.SoureDataArray];

        NSString * searchStr =[KCPinyinHelper pinyinFromChiniseString:searchTextField.text];

        NSLog(@"seatch  sttrr===%@",searchStr);

        if (ResultDadaArray.count  > 0) {

            [ResultDadaArray removeAllObjects];

     

        }

        [dataArrGzz  removeAllObjects];

        {

            for (int i=0; i<seaArray.count; i++) {

                dataDIcGzz=[NSMutableDictionary dictionaryWithDictionary:[seaArray objectAtIndex:i]];

                NSString  *pinStr=[KCPinyinHelper pinyinFromChiniseString:[NSString stringWithFormat:@"%@",dataDIcGzz[@"realName"]]];

                if ([pinStr containsString:searchStr]) {

                    dataArrIndex=i;

                    NSLog(@"ii===%zd",i);

                    [dataArrGzz addObject:[seaArray objectAtIndex:i]];

    //              [_TV reloadData];

                }

            }

            

            

            if(dataArrGzz.count  == 0){

                [self createShowMessage:@"sss"];

                UIImageView *imageV   = [[UIImageView alloc]initWithFrame:CGRectMake((ConentViewWidth-157/2)/2, (ConentViewHeight-181/2)/2-44, 157/2, 181/2)];

                

                imageV.image = [UIImage imageNamed:@"zanwushuju1"];

                

                UILabel *la  =[[UILabel alloc]initWithFrame:CGRectMake((ConentViewWidth-200)/2, (ConentViewHeight-181/2)/2-44+181/2+10, 200, 10)];

                la.text = @"无搜索结果";

                la.textAlignment = NSTextAlignmentCenter;

                la.textColor = [UIColor grayColor];

                [self.view addSubview:la];

                [self.view addSubview:imageV];

                

                [self.view bringSubviewToFront:la];

                [self.view bringSubviewToFront:imageV];

            }

            

            [_TV reloadData];

        }

     

        

        [_TV reloadData];

    }

     

     

  • 相关阅读:
    LeetCode 24. Swap Nodes in Pairs (两两交换链表中的节点)
    LeetCode 1041. Robot Bounded In Circle (困于环中的机器人)
    LeetCode 1037. Valid Boomerang (有效的回旋镖)
    LeetCode 1108. Defanging an IP Address (IP 地址无效化)
    LeetCode 704. Binary Search (二分查找)
    LeetCode 744. Find Smallest Letter Greater Than Target (寻找比目标字母大的最小字母)
    LeetCode 852. Peak Index in a Mountain Array (山脉数组的峰顶索引)
    LeetCode 817. Linked List Components (链表组件)
    LeetCode 1019. Next Greater Node In Linked List (链表中的下一个更大节点)
    29. Divide Two Integers
  • 原文地址:https://www.cnblogs.com/gzz2016/p/5251151.html
Copyright © 2020-2023  润新知