iOS 전역 주마등 배우 기

2721 단어 iOS주마등
본 고 는 실례 를 들 어 iOS 전역 주마등 제작 방법 을 공유 하 였 으 며,여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
생각:
1.하나의 예 만 들 기

+ (instancetype)shareManager {
 static CCPaomaView *pModel = nil;
 static dispatch_once_t once;
 dispatch_once(&once, ^{
  pModel = [[CCPaomaView alloc]initWithFrame:CGRectMake(0, 0, KScreenWidth, 0.0468 *KScreenHeight)];
 });
 return pModel;
}
2.받 은 데 이 터 를 로 컬 plist 에 저장 합 니 다.대량의 데이터 에 적용 되 지 않 습 니 다.첫 번 째 데 이 터 를 읽 을 때마다 전체 plist 를 삭제 하고 나머지 는 plist 에 다시 저장 합 니 다.
3.애니메이션 에이전트 에 따라 감청 애니메이션 실행 이 끝나 면 애니메이션 인 스 턴 스 를 nil 로 설정 합 니 다.

- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{
 NSLog(@"%@",[self.paomaLabel.layer animationForKey:@"paoMaDeng"]);
 if ([self.paomaLabel.layer animationForKey:@"paoMaDeng"] == anim) {
  //       
  [_array removeObjectAtIndex:0];
  
  //     plist
  [CCPaomaModel removePaomaPlist];
  
  //    
  [_array writeToFile:[CCPaomaModel filename] atomically:YES];
  
  //      ,      nil
  _pmAniamtion = nil;
  
  //           
  if (_array.count > 0) {
   [self showPaomaView:self.superview];
  }else{
   self.hidden = YES;
   [self removeFromSuperview];
  }
  NSLog(@"%@",self.array);
 }
}
4.애니메이션 인 스 턴 스 가 비어 있 는 지 판단 하여 화면 전환,주마등 을 계속 합 니 다.다시 시작 하 는 것 이 아 닙 니 다.

- (void)paomaAniamtion:(CGFloat)count{
 //          ,    ,      
 if (_pmAniamtion == nil) {
  _pmAniamtion = [CABasicAnimation animation];
  _pmAniamtion.keyPath = @"transform.translation.x";
  CGFloat W = CGRectGetWidth(_paomaLabel.bounds);
  _pmAniamtion.fromValue = @(W);
  _pmAniamtion.toValue = @(-W);
  _pmAniamtion.duration = _aniTime;
  _pmAniamtion.repeatCount = count;
  _pmAniamtion.removedOnCompletion = NO;  //       
  _pmAniamtion.fillMode = kCAFillModeForwards; //            
  _pmAniamtion.delegate = self;    //    
  [_paomaLabel.layer addAnimation:_pmAniamtion forKey:@"paoMaDeng"];
 }else{
  _pmAniamtion.repeatCount = count;
 }
}
5.화면 전환,애니메이션 일시 정지,복구

#pragma mark --     、  ,  、  、    
- (void)viewWillAppear:(BOOL)animated {
 [_paomaView showPaomaView:self.view];
 [_paomaView resumeAnimation];
}

- (void)viewWillDisappear:(BOOL)animated {
 [_paomaView pauseAniamtion];
}

말 이 많 지 않 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기