18 - UIKit (코어 애니메이션, 방송 디자인 모델)

9314 단어 animation
디 렉 터 리:
1. 핵심 애니메이션
2. 방송 디자인 모델
정상 으로 돌아가다
1. 핵심 애니메이션
    1.  뭐 예요?
        기본 애니메이션 프레임 워 크
    2.  프레임 대비
        UIKit           UI      UIView              AppKit          NS  NSView       
        (Cocoa Touch = UIKit + Foundation)          (Cocoa = AppKit + Foundation)
        핵심: 예 쁘 고 움 직 일 수 있 는 것 을 휴대 전화 에서 사용자 와 상호작용 할 수 있 도록 한다.   
        OC 레벨:
        +   UIControl / UIView 하위 클래스
        +   UITableView/UICollectionView
        +   UIGestureRecognizer / UIView touch
       
        Core Animation  CA      CALayer
        (Quartz Core)
        핵심: 그 려 진 것 을 더 예 쁘 게 만 들 거나 움 직 이게 한다.
        C 레벨:
        UIKit OC 레벨 의 간소화 클래스
        +   UIView transform
        +   UIView animate...
        +   autoresizing
        +   autolayout
       
        Core Graphic    CG      CGContextRef
        (Quartz 2D)
        핵심: 그리 기
        C 단계: 선, 채 우기 색상, 텍스트, 그림자, 이미지
        UIKit OC 레벨 의 간소화 클래스
        +   UIColor
        +   UIBezierPath
        +   NSString(UIKit)      
    3.  UIView vs CALayer
        UIKit                   Core Animation
        UIView                  CALayer
                -> view.layer
        addSubview              addSublayer
        frame                   frame
        autoreszing             autoreszing
        transform 2D            transform 3D
        animate                 애니메이션 3D 애니메이션 색상 애니메이션
                                원 각 변 추가
                                그림자 추가
                                입자 효과
                               
    4.  Layer
        1)  원 각 설정
        2)  가리개
        3)  CATransform3D
            내부 4x4 매트릭스
- (void)viewDidLoad

{

    [super viewDidLoad];

    self.imageView.layer.cornerRadius = 15;//     

    self.imageView.layer.masksToBounds = YES;//   /  

    CATransform3D transform = CATransform3DIdentity;

    transform.m34 = - 1.0 / 1000;

    transform = CATransform3DRotate(transform, M_PI_4, 1, 1, 0);//x   45 ,x   45    x y z 

    self.imageView.layer.transform = transform;

}

정상 으로 돌아가다
2. 방송 디자인 모델
개념:
0. 생활 속 의 방송, 텔레비전 생방송, 라디오, 백화점, 웨 이 보
1. 방송 디자인 모델 은 무엇 입 니까?한 대상 이 메시지 의 수신 자가 누구 인지 알 지 않 아 도 메시지 가 필요 한 대상 에 게 메 시 지 를 보 낼 수 있다.
2. 왜 이런 패턴 이 있 을 까?
    1 > 일부 경우 메 시 지 를 보 낸 발송 자 는 수신 자의 존재 와 수량 을 예측 할 수 없다.
    2 > 어떤 경우 에는 메시지 의 수신 자 와 발송 자의 거리 가 너무 멀다.
3. 핵심 논리, 발송 자, 청취 자
    1 > 청취자, 라디오 켜 기, 라디오 듣 기, 미래 송신 자 채널 과 일치 하도록 주파수 변조
    2 > 발송 자 는 라디오 를 켜 서 현재 채널 을 들 은 사람 이 라면 모두 라디오 를 들 을 수 있 는 라디오 를 보낸다.
    3 > 청취자 방송 종료
4. ios 에서 방송 에 대한 실현
NSNotification                    통지
NSNotificationCenter     알림 센터
STEP: [MX2]
1. 청취 자 는 라디오 를 켜 고 라디오 를 듣는다
    1 > 알림 센터 찾기
NSNotifecationCenter * center = NSNotifecationCenter defaultCenter
    2 > 특정한 테 마 를 듣 는 라디오 addObeserver 를 등록 합 니 다.
2. 발생 자 방송
    1 > 알림 센터 찾기
    2 > 알림 대상 생 성
    3 > 알림 센터 로 알림 대상 post 보 내기
-(void)kaishi{



    //       



    NSNotificationCenter *center = [NSNotificationCenter defaultCenter];



    //       



    NSNotification *nofication = [NSNotification notificationWithName:@"WWDC" object:nil];



    //                



    [center postNotification:nofication];



}

3. 청취자 처리
    1 > 소식 듣 기, 처리 논리 실현
4. 라디오 를 끄 고, 듣 는 사람 이 필요 없 을 때 듣 기 를 멈춘다 (반드시 꺼 야 한다)
        1 > 알림 센터 찾기
        2 > remove 듣 기 중지
-(id)init{

    self = [super init];

    if (self) {

        //       

        NSNotificationCenter *center = [NSNotificationCenter defaultCenter];

        //           

        [center addObserver:self selector:@selector(jieshou:) name:@"WWDC" object:nil];

    }

    return self;

}



//     

-(void)jieshou:(id)sender{

    NSLog(@"jieshoudaole");

}



//     

-(void)dealloc{

    NSNotificationCenter *center = [NSNotificationCenter defaultCenter];

    [center removeObserver:self name:@"WWDC" object:nil];

}

5. 알림 센터 에서 정 보 를 발표 할 때 데이터 전송
//       

NSDictionary *data = @{@"Product": @"iPad Air"};

NSNotification *nofication = [NSNotification notificationWithName:@"WWDC" object:nil userInfo:data];

//       

-(void)jieshou:(NSNotification *)sender{

    NSLog(@"%@",sender.userInfo[@"Product"]);

}

    6.  내부 메커니즘
     [G01]
    7.  방송 과 동시에 데이터 전송
        라디오 를 보 낼 때 데 이 터 는 알림 대상 의 userInfo 아래 에 놓 습 니 다.
        라디오 를 받 을 때 첫 번 째 인 자 는 CCTV 가 아니 라 뉴스 (NSNotification) 입 니 다.
        받 은 첫 번 째 매개 변 수 는 발송 자가 만 든 알림 대상 입 니 다.
    8.  문자열 상수
        .h
        extern NSString * const XXXxxxXxxxxxxxx;
        .m
        NSString * const XXXxxxXxxxxxxxx = @".....";
    9.  효과.
        메시지 수신 자의 증가
        기 존 메시지 발송 자의 코드 에 영향 을 주지 않 습 니 다.
        다른 기 존 수신 자의 코드 에 도 영향 을 주지 않 습 니 다.
       
    10. 방송 을 켜 거나 끄 려 면 반드시 짝 을 맞 춰 야 한다.
init                      - dealloc
viewDidLoad        - viewDidUnload / dealloc
viewWillAppear    - viewDidDisappear
viewDidAppear     - viewWillDisappear
 
네 번 째 검사 기 에서 VC 를 선택 하 십시오. 기본적으로 under top bars 를 선택 하면 이 VC 가 top bar 아래 에 침투 하고 취소 하면 침투 하지 않 는 다 는 뜻 입 니 다.

좋은 웹페이지 즐겨찾기