zoukankan      html  css  js  c++  java
  • ios 项目总结二2

    1 还是scrollview的使用,判断向左向后滑动的判断

    -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    
        newx=scrollView.contentOffset.x;
            if (xiaotu_array.count*650>newx) {
                if (newx != oldIx ) {
                    //Left-YES,Right-NO
                    if (newx > oldIx) {
                        huaTag++;
                        NSLog(@"右滑 ===%d",huaTag);
                    }else if(newx < oldIx){
                        
                        huaTag--;
                        NSLog(@"左滑-- ===%d",huaTag);
                    }
      oldIx = newx;
                }
            }    
    }

    当时判断左右滑动是有个方法,响应的Hugtag判断了,但是oldIx的位置总是滑动初始化显示的是上次的的位置,所以导致判断总是不正确,所以再点击按钮的时候重绘oldIx的位置为oldIx=0;

    2 pagecontrol和UIscrollvew的结合实现,

    pagecontrol = [[UIPageControl alloc]initWithFrame:CGRectMake(280, 680, 50, 23)];
        pagecontrol.numberOfPages = xiaotu_array.count;
        pagecontrol.currentPage = 0;
        pagecontrol.pageIndicatorTintColor = [UIColor blackColor];
        pagecontrol.currentPageIndicatorTintColor=[UIColor grayColor];
        [viewRight addSubview:pagecontrol];
    - (void)scrollViewDidScroll:(UIScrollView *)scrollview
    {
      根据scrollview的滑动判断page的位置
        if (scrollview==Bigscroll) {
            [seachView removeFromSuperview];
            isShowSearch=YES;
            int page = scrollview.contentOffset.x / 650;
            pagecontrol.currentPage = page;
            if (page < xiaotu_array.count) {
                [pagecontrol setHidden:NO];
                pagecontrol.currentPage=page;
                [pagecontrol setNumberOfPages:xiaotu_array.count];
    
            }else if(page >= xiaotu_array.count && page < streetImages.count+xiaotu_array.count)
            {
                [pagecontrol setHidden:NO];
                pagecontrol.currentPage=page-xiaotu_array.count;
                [pagecontrol setNumberOfPages:streetImages.count];
            }else
            {
                pagecontrol.hidden = YES;
            }
    
      
            
            if (scrollview.contentOffset.x/650 < xiaotu_array.count && scrollview.contentOffset.x/650 >= 0) {
                [mtt setImage:[UIImage imageNamed:@"dj-mtt.png"] forState:UIControlStateNormal];
    
                [biaoshi_line setFrame:CGRectMake(60, 36, 73, 5)];
            }
            if (scrollview.contentOffset.x/650 >= xiaotu_array.count && scrollview.contentOffset.x/650 < xiaotu_array.count+streetImages.count) {
                [jiePai setImage:[UIImage imageNamed:@"dj-jpt.png"] forState:UIControlStateNormal];
                [biaoshi_line setFrame:CGRectMake(193, 36, 73, 5)];
            }
            if (scrollview.contentOffset.x/650 == xiaotu_array.count+streetImages.count) {
                [dpt setImage:[UIImage imageNamed:@"dj-sjstj.png"] forState:UIControlStateNormal];
    
                [biaoshi_line setFrame:CGRectMake(345, 36, 73, 5)];
            }
            if (scrollview.contentOffset.x/650==xiaotu_array.count+streetImages.count+1) {
                [kccx setImage:[UIImage imageNamed:@"dj-kccx.png"] forState:UIControlStateNormal];
                if (isDrag==YES) {
                    [self performSelector:@selector(loadKuCunData) withObject:nil afterDelay:0];
                    isDrag=NO;
                }
                
    
            }
    
        }
        
    
    }
    

     3 九宫格的实现 ,可以实现删除的实现,在scrollview添加的button实现

    //初始化scrollview 
     [scroll removeFromSuperview];
        scroll=[[UIScrollView alloc]initWithFrame:CGRectMake(90, 100, 1024-180, 768-170)];
        scroll.backgroundColor=[UIColor whiteColor];
        scroll.delegate=self;
        [self.view addSubview:scroll];
        isShowBtn=NO;
        [self performSelector:@selector(initBtn) withObject:self afterDelay:0];
    //初始化九宫格button
    -(void)initBtn{ int width = scroll.frame.size.width/4; for (int i=0; i<allArrys.count; i++) { t=i/4; int d=fmod(i, 4); UIView *nView = [[UIView alloc] initWithFrame:CGRectMake(width * d + 5+d*10, HIGHT * t +5+t*50, WIDTH, HIGHT)]; // NSLog(@"---%@",NSStringFromCGRect(nView.frame)); nView.backgroundColor=[UIColor whiteColor]; nView.tag=1000+i; UIImageView *BgImage=[[UIImageView alloc]init]; BgImage.frame=CGRectMake(0, 0, 145, 187); BgImage.backgroundColor=[UIColor clearColor]; BgImage.image=[UIImage imageNamed:@"bj.png"]; [nView addSubview:BgImage]; nView.backgroundColor=[UIColor whiteColor]; UIButton *appBtn = [UIButton buttonWithType:UIButtonTypeCustom]; [appBtn setFrame:CGRectMake(2, 2, 141, 183)]; [appBtn addTarget:self action:@selector(goNext:) forControlEvents:UIControlEventTouchUpInside];//默认是走下一页 appBtn.tag = i; [nView addSubview:appBtn]; NSString *aaa=[[dicInfo objectForKey:[allArrys objectAtIndex:i]] objectForKey:@"danpin"]; // NSString *bbb=[NSString stringWithFormat:@"%@",aaa]; NSString *ss=[NSString stringWithFormat:@"Documents/styleSmall/x%@",aaa]; NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"%@",ss]]; NSString *fileName=[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil]; NSString *imageNames=[fileName stringByReplacingOccurrencesOfString:@"-" withString:@"1"]; [appBtn setImage:[UIImage imageWithData:[DataPist stringToByte:imageNames]] forState:UIControlStateNormal]; NSLog(@"---%@",dicInfo); UILabel *label1=[[UILabel alloc]init]; label1.frame=CGRectMake(0,187, 200, 20); label1.text=[[dicInfo objectForKey:[allArrys objectAtIndex:i]]objectForKey:@"huoHao"]; label1.textColor=[UIColor grayColor]; label1.font=[UIFont systemFontOfSize:12]; [nView addSubview:label1]; UILabel *label2=[[UILabel alloc]init]; label2.frame=CGRectMake(0,187+20, 150, 20); label2.text=[[dicInfo objectForKey:[allArrys objectAtIndex:i]]objectForKey:@"chanPinName"]; label2.textColor=[UIColor grayColor]; label2.font=[UIFont systemFontOfSize:12]; [nView addSubview:label2]; UILabel *label3=[[UILabel alloc]init]; label3.frame=CGRectMake(0,187+40, 30, 20); label3.text=@"RMB"; label3.textColor=[UIColor grayColor]; label3.font=[UIFont systemFontOfSize:12]; [nView addSubview:label3]; UILabel *label4=[[UILabel alloc]init]; label4.frame=CGRectMake(40,187+40, 100, 20); NSString *price=[[dicInfo objectForKey:[allArrys objectAtIndex:i]]objectForKey:@"money"]; // label4.text=[price substringToIndex:price.length-5]; label4.text=price; label4.textColor=[UIColor grayColor]; label4.font=[UIFont systemFontOfSize:12]; [nView addSubview:label4]; UIImageView *tagImgView = [[UIImageView alloc] initWithFrame:CGRectMake(145-31, 1, 30, 30)]; [tagImgView setImage:[UIImage imageNamed:@"sc.png"]]; [tagImgView setHidden:YES]; [nView addSubview:tagImgView]; [scroll addSubview:nView]; // nView.userInteractionEnabled = YES; [scroll setContentSize:CGSizeMake( 1024-180,(t+1)*280+50)]; // NSLog(@"-=t=%d==--%@",t,NSStringFromCGRect(scroll.frame)); } UILongPressGestureRecognizer *lpgr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(LongPressGestureRecognizer:)]; [scroll addGestureRecognizer:lpgr]; UITapGestureRecognizer *oneFinger=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(oneFinger:)]; oneFinger.numberOfTapsRequired = 1; oneFinger.delegate=self; [scroll addGestureRecognizer:oneFinger]; // [self performSelector:@selector(jisuan) withObject:nil afterDelay:1]; }

    添加方法

    //判断是否点击事件,如果长按就isShowBtn==YES,走删除,没按长按或者不按的话就是走另一个页面,isShowBtn==no;
    -(void)goNext:(UIButton *)sender{
        
        if (isShowBtn==YES) {
          //走删除页面
            UIButton *btn=(UIButton *)sender;
            [self btnTag:btn.tag];
        }else if (isShowBtn==NO){
        //走另一个页面
            DanPin_ViewController *danPinVC=[[DanPin_ViewController alloc]init];
            danPinVC.smallName=[[dicInfo objectForKey:[allArrys objectAtIndex:sender.tag]] objectForKey:@"huoHao"];
            [self presentViewController:danPinVC animated:YES completion:NULL];
        }   
    }
    //删除
    -(void)btnTag:(int )tag{
        [self deleteAppBtn:tag];
    }
    //删除实现
    - (void)deleteAppBtn:(int)index
    {
        NSArray *views = scroll.subviews;
    //    NSLog(@"----%@",views);
        __block CGRect newframe;
        for (int i = index; i < [allArrys count]; i++)
        {
            UIView *obj = [views objectAtIndex:i];
            __block CGRect nextframe = obj.frame;
            if (i == index)
            {
                [obj removeFromSuperview];
            }
            else
            {
                for (UIView *v in obj.subviews)
                {
                    if ([v isMemberOfClass:[UIButton class]])
                    {
                        v.tag = i - 1;
                        break;
                    }
                }
                [UIView animateWithDuration:0.6 animations:^
                 {
                     obj.frame = newframe;
                 } completion:^(BOOL finished)
                 {
                 }];
            }
            newframe = nextframe;
        }
        
        if ([PlistName isEqualToString:@"dataOne"]) {
            
            [[SavePList sharedInstance]removeBookWithKey:[allArrys objectAtIndex:index] name:@"dataOne"];
           [allArrys removeObjectAtIndex:index];
            [self initZongJia:@"dataOne"];
            
    
        }else if ([PlistName isEqualToString:@"dataTwo"]){
            
            [[SavePList sharedInstance]removeBookWithKey:[allArrys objectAtIndex:index] name:@"dataTwo"];
            [allArrys removeObjectAtIndex:index];
            [self initZongJia:@"dataTwo"];
    
        }else if ([PlistName isEqualToString:@"dataThree"]){
            
            [[SavePList sharedInstance]removeBookWithKey:[allArrys objectAtIndex:index] name:@"dataThree"];
            [allArrys removeObjectAtIndex:index];
              [self initZongJia:@"dataThree"];
        }
        
        [self endAnimation];
        
    }
    
    //点击取消事件
    -(void)oneFinger:(UIPanGestureRecognizer *)gr
    {
        [self setCancleFlag];
        [self hideBtn];
    }
    
    
    //长按删除事件
    - (void)LongPressGestureRecognizer:(UIGestureRecognizer *)gr
    {
        isShowBtn=YES;
        
        if (gr.state == UIGestureRecognizerStateBegan)
        {
            
            if (m_bTransform)
                return;
            
            for (UIView *view in scroll.subviews)
            {
                view.userInteractionEnabled = YES;
                for (UIView *v in view.subviews)
                {
                    if ([v isMemberOfClass:[UIImageView class]])
                        [v setHidden:NO];
                }
            }
            m_bTransform = YES;
            [self BeginWobble];
        }
        //判断师傅要全部删除
        if ([ret isEqualToString:@"1"]) {
            guanZhuBtn1.hidden=YES;
            removeBtn1.hidden=NO;
           
            
        }else if ([ret isEqualToString:@"2"]){
            guanZhuBtn2.hidden=YES;
            removeBtn2.hidden=NO;
    
            
        }else if ([ret isEqualToString:@"3"]){
            guanZhuBtn3.hidden=YES;
            removeBtn3.hidden=NO;
    
        }
        
    }
    -(void)BeginWobble
    {
    //    NSAutoreleasePool* pool=[NSAutoreleasePool new];
        for (UIView *view in scroll.subviews)
        {
            srand([[NSDate date] timeIntervalSince1970]);
            float rand=(float)random();
            CFTimeInterval t=rand*0.0000000001;
            [UIView animateWithDuration:0.1 delay:t options:0  animations:^
             {
                 //             view.transform=CGAffineTransformMakeRotation(-0.05);
             } completion:^(BOOL finished)
             {
                 [UIView animateWithDuration:0.1 delay:0 options:UIViewAnimationOptionRepeat|UIViewAnimationOptionAutoreverse|UIViewAnimationOptionAllowUserInteraction  animations:^
                  {
                      //                  view.transform=CGAffineTransformMakeRotation(0.05);
                  } completion:^(BOOL finished) {}];
             }];
        }
    //    [pool release];
    }
    
    -(void)EndWobble
    {
    //    NSAutoreleasePool* pool=[NSAutoreleasePool new];
        for (UIView *view in scroll.subviews)
        {
            [UIView animateWithDuration:0.1 delay:0 options:UIViewAnimationOptionAllowUserInteraction|UIViewAnimationOptionBeginFromCurrentState animations:^
             {
                 view.transform=CGAffineTransformIdentity;
                 for (UIView *v in view.subviews)
                 {
                     if ([v isMemberOfClass:[UIImageView class]])
                         [v setHidden:YES];
                 }
             } completion:^(BOOL finished) {}];
        }
    //    [pool release];
    }
    
    //设置取消设置delegte的image按钮
    -(void)setCancleFlag{
        isShowBtn=NO;
        if(m_bTransform==NO)
            return;
        
        for (UIView *view in scroll.subviews)
        {
            view.userInteractionEnabled = YES;
            for (UIView *v in view.subviews)
            {
                if ([v isMemberOfClass:[UIImageView class]])
                    [v setHidden:YES];
            }
        }
        m_bTransform = NO;
        [self EndWobble];
    }

    5 ipad的实现popView实现,还有就是定制pop的颜色

    #import <UIKit/UIKit.h>
    #import <QuartzCore/QuartzCore.h>
    
    @interface PCPopoverController : UIPopoverController
    
    @property (readonly) UIColor *tintColor;
    
    - (id)initWithContentViewController:(UIViewController *)viewController andTintColor: (UIColor *)tintColor;
    
    @end
    
    //
    //  PCPopoverController.m
    //  PCPopoverControllerTests
    //
    //  Created by Patrick Perini on 5/16/12.
    //  Licensing information available in README.md
    //
    
    #import "PCPopoverController.h"
    
    #pragma mark - Internal Constants
    CGFloat const contentInset = 10.0;
    CGFloat const capInset = 25.0;
    CGFloat const arrowHeight = 15.0;
    CGFloat const arrowBase = 24.0;
    
    @interface PCPopoverControllerBackgroundView : UIPopoverBackgroundView
    {
        UIImageView *borderImageView;
        UIImageView *arrowImageView;
    }
    
    + (UIColor *)currentTintColor;
    + (void)setCurrentTintColor: (UIColor *)tintColor;
    
    @end
    
    @implementation PCPopoverControllerBackgroundView
    
    #pragma mark - Internal Class Variables
    static UIColor *currentTintColor;
    
    #pragma mark - Initializers
    - (id)initWithFrame:(CGRect)frame
    {
        self = [super initWithFrame: frame];
        if (!self)
            return nil;
        
        UIGraphicsBeginImageContext(CGSizeMake(60, 60));
        
        UIBezierPath *borderPath = [UIBezierPath bezierPathWithRoundedRect: CGRectMake(0, 0, 60, 60)
                                                              cornerRadius: 8];
        [currentTintColor setFill];
        [borderPath fill];
        
        UIImage *borderImage = UIGraphicsGetImageFromCurrentImageContext();
        
        UIGraphicsEndImageContext();
        
        UIEdgeInsets capInsets = UIEdgeInsetsMake(capInset, capInset, capInset, capInset);
        borderImageView = [[UIImageView alloc] initWithImage: [borderImage resizableImageWithCapInsets: capInsets]];
        
        borderImageView.layer.shadowColor = [UIColor blackColor].CGColor;
        borderImageView.layer.shadowOpacity = .4;
        borderImageView.layer.shadowRadius = 2;
        borderImageView.layer.shadowOffset = CGSizeMake(0, 2);
        
        UIGraphicsBeginImageContext(CGSizeMake(25, 25));
        
        UIBezierPath *arrowPath = [UIBezierPath bezierPath];
        [arrowPath moveToPoint: CGPointMake(12.5, 0)];
        [arrowPath addLineToPoint: CGPointMake(25, 25)];
        [arrowPath addLineToPoint: CGPointMake(0, 25)];
        [arrowPath addLineToPoint: CGPointMake(12.5, 0)];
        
        [currentTintColor setFill];
        [arrowPath fill];
        
        UIImage *arrowImage = UIGraphicsGetImageFromCurrentImageContext();
        
        UIGraphicsEndImageContext();
        
        arrowImageView = [[UIImageView alloc] initWithImage: arrowImage];
        
        arrowImageView.layer.shadowColor = [UIColor blackColor].CGColor;
        arrowImageView.layer.shadowOpacity = .4;
        arrowImageView.layer.shadowRadius = 2;
        arrowImageView.layer.shadowOffset = CGSizeMake(0, 1);
        arrowImageView.layer.masksToBounds = YES;
        
        [self addSubview: borderImageView];
        [self addSubview: arrowImageView];
        
        return self;
    }
    
    #pragma mark - Class Accessors and Mutators
    + (UIColor *)currentTintColor
    {
        return currentTintColor;
    }
    
    + (void)setCurrentTintColor:(UIColor *)tintColor
    {
        currentTintColor = tintColor;
    }
    
    #pragma mark - Class Handlers
    + (UIEdgeInsets)contentViewInsets
    {
        return UIEdgeInsetsMake(contentInset, contentInset, contentInset, contentInset);
    }
    
    + (CGFloat)arrowHeight
    {
        return arrowHeight;
    }
    
    + (CGFloat)arrowBase
    {
        return arrowBase;
    }
    + (BOOL)wantsDefaultContentAppearance{
        return NO;
    }
    #pragma mark - View Handlers
    @synthesize arrowOffset;
    @synthesize arrowDirection;
    
    
    
    - (void)layoutSubviews
    {
        [super layoutSubviews];
        
        CGFloat height = CGRectGetHeight(self.frame);
        CGFloat width = CGRectGetWidth(self.frame);
        CGFloat left = 0;
        CGFloat top = 0;
        CGFloat coordinate = 0;
        CGAffineTransform rotation = CGAffineTransformIdentity;
        
        switch (arrowDirection)
        {
            case UIPopoverArrowDirectionUp:
            {
                top += arrowHeight;
                height -= arrowHeight;
                coordinate = ((CGRectGetWidth(self.frame) / 2.0) + arrowOffset) - (arrowBase / 2.0);
                arrowImageView.frame = CGRectMake(coordinate, 0, arrowBase, arrowHeight);
                break;
            }
                
            case UIPopoverArrowDirectionDown:
            {
                height -= arrowHeight;
                coordinate = ((CGRectGetWidth(self.frame) / 2.0) + arrowOffset) - (arrowBase / 2.0);
                arrowImageView.frame = CGRectMake(coordinate, height, arrowBase, arrowHeight);
                rotation = CGAffineTransformMakeRotation(M_PI);
                break;
            }
                
            case UIPopoverArrowDirectionLeft:
            {
                left += arrowBase - ceil((arrowBase - arrowHeight) / 2.0);
                width -= arrowBase;
                coordinate = ((CGRectGetHeight(self.frame) / 2.0) + arrowOffset) - (arrowHeight / 2.0);
                arrowImageView.frame = CGRectMake(0, coordinate, arrowBase, arrowHeight);
                rotation = CGAffineTransformMakeRotation(-M_PI_2);
                break;
            }
                
            case UIPopoverArrowDirectionRight:
            {
                left += ceil((arrowBase - arrowHeight) / 2.0);
                width -= arrowBase;
                coordinate = ((CGRectGetHeight(self.frame) / 2.0) + arrowOffset) - (arrowHeight / 2.0);
                arrowImageView.frame = CGRectMake(width, coordinate, arrowBase, arrowHeight);
                rotation = CGAffineTransformMakeRotation(M_PI_2);
                break;
            }
        }
        
        borderImageView.frame = CGRectMake(left, top, width, height);
        [arrowImageView setTransform: rotation];
    }
    
    @end
    
    @implementation PCPopoverController
    
    #pragma mark - Properties
    @synthesize tintColor;
    
    #pragma mark - Initializers
    - (id)initWithContentViewController:(UIViewController *)viewController
    {
        self = [self initWithContentViewController: viewController
                                      andTintColor: [UIColor whiteColor]];
        return self;
    }
    
    - (id)initWithContentViewController:(UIViewController *)viewController andTintColor:(UIColor *)aTintColor
    {
        self = [super initWithContentViewController: viewController];
        if (!self)
            return nil;
        
        [super setPopoverBackgroundViewClass: [PCPopoverControllerBackgroundView class]];
        tintColor = aTintColor;
        
        return self;
    }
    
    #pragma mark - Overriders
    - (void)setPopoverBackgroundViewClass:(Class)popoverBackgroundViewClass {}
    
    - (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated
    {
        @synchronized(self)
        {
            [[PCPopoverControllerBackgroundView class] setCurrentTintColor: tintColor];
            [super presentPopoverFromRect: rect inView: view permittedArrowDirections: arrowDirections animated: animated];
        }
    }
    
    - (void)presentPopoverFromBarButtonItem:(UIBarButtonItem *)item permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated
    {
        @synchronized(self)
        {
            [[PCPopoverControllerBackgroundView class] setCurrentTintColor: tintColor];
            [super presentPopoverFromBarButtonItem: item permittedArrowDirections: arrowDirections animated: animated];
        }
    }
    
    @end

    用的时候直接调用就可以了, 

      UIViewController *viewControllerPick=[[UIViewController alloc]init];
        popView=[[PCPopoverController alloc]initWithContentViewController:viewControllerPick andTintColor:[UIColor whiteColor]];
        [popView setPopoverContentSize:CGSizeMake(200, 185) animated:YES];
        popView.delegate=self;

    一个页面多个popview的实现根据textfield的  tag 实现

    -(void)textFieldDidBeginEditing:(UITextField *)textField{

     CGRect rect=[self.view convertRect:textField.frame fromView:textField.superview];
            [popView presentPopoverFromRect:rect inView:self.view permittedArrowDirections:
             UIPopoverArrowDirectionLeft animated:YES];

    }

    popview里面添加tableview的实现多选单选,全选

    实现全选按钮或取消全选按钮,设置bool值点击

    allSelectFlag=YES;这块设置bool
                    for (int row=0; row<20; row++) {这块是显示可见的cell的点击按钮,所以为显示的cell无法全选,所以就需要设置bool值做判断,这样就可以全选了,
                        UITableViewCell *oneCell =  (UITableViewCell *)[table cellForRowAtIndexPath:[NSIndexPath indexPathForRow:row inSection:0]];
                        oneCell.accessoryType = UITableViewCellAccessoryCheckmark;
                    }   

    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
        
        UITableViewCell *cell;

            NSString *identity=[NSString stringWithFormat:@"%d%d",indexPath.section,indexPath.row];
            
            cell=[tableView dequeueReusableCellWithIdentifier:identity];
            if (cell==nil) {
                cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identity];
                cell.selectionStyle=UITableViewCellSelectionStyleGray;
            }
            cell.textLabel.font=[UIFont systemFontOfSize:13];
            cell.textLabel.textAlignment=NSTextAlignmentCenter;
            cell.textLabel.text=[aryyYears objectAtIndex:indexPath.row];
            if (allSelectFlag==YES) {
                cell.accessoryType = UITableViewCellAccessoryCheckmark;
            }
            if (allSelectFlag==NO) {
                cell.accessoryType = UITableViewCellAccessoryNone;
            }
        }
    tableview的多选实现和单选实现

    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
        
        UITableViewCell *oneCell = [tableView cellForRowAtIndexPath: indexPath];
        
       
        [tableView deselectRowAtIndexPath:indexPath animated:YES];
        
        
        UITextField *textField;
        [tableView deselectRowAtIndexPath:indexPath animated:YES];
        if([typePick isEqualToString:@"0"]){
            //多选
             textField=(UITextField *)[self.view viewWithTag:1000];
            if (oneCell.accessoryType == UITableViewCellAccessoryNone) {
                
                oneCell.accessoryType = UITableViewCellAccessoryCheckmark;
                NSString *aaa=[aryyYears objectAtIndex:indexPath.row];

      //NSString 字符串的实现添加和删除某段字符串方法
                [YearString appendString:[NSString stringWithFormat:@"%@,",[aaa substringToIndex:aaa.length-1]]];
                [findString appendString:[NSString stringWithFormat:@"%@,",[aryyYears objectAtIndex:indexPath.row]]];

            } else{
                oneCell.accessoryType = UITableViewCellAccessoryNone;
                  NSString *aaa=[aryyYears objectAtIndex:indexPath.row];
                [YearString deleteCharactersInRange:[YearString rangeOfString:[NSString stringWithFormat:@"%@,",[aaa substringToIndex:aaa.length-1]]]];
                   [findString deleteCharactersInRange:[findString rangeOfString:[NSString stringWithFormat:@"%@,",[aryyYears objectAtIndex:indexPath.row]]]];
            }
            textField.text=findString;
            单选实现

      // NSArray *arry=[tableView visibleCells];
            for (UITableViewCell *cell in arry) {
                [cell setAccessoryType:UITableViewCellAccessoryNone];
            }
            [[tableView cellForRowAtIndexPath:indexPath]setAccessoryType:UITableViewCellAccessoryCheckmark];
        }
    }

    字符串实现追加字符串和根据多选实现的删除方法

    1  appendString:字符串的追加

    2 字符串的删除 :deleteCharactersInRange:[findString rangeOfString:@"sdsds"]

    3 字符串的截掉后面几位[aaa substringToIndex:aaa.length-1]

    字符串还有很多操作方法,有待学习

    以上目前就是想到的新项目中的问题,其实还有许多问题,没写出来,等有时间好好总结下,

  • 相关阅读:
    批量下载B站视频
    MATLAB安装
    printf小结
    hdoj 1874 dijkstra
    斐波那契而数列
    PAT数列排序
    感想
    物理定律的适用范围
    本博客的文章曾经恢复过,但迅速被部分删除(不知名的原因)
    (废墟重建)程序员如何学习书本上的例子 how programmers learn examples of books
  • 原文地址:https://www.cnblogs.com/zhangsongbai/p/3296829.html
Copyright © 2011-2022 走看看