2012-10-10 2 views
2

목표 C가 처음인데 런타임시 UIButton & UIImageView를 사용하여 화면상의 한 세트의 위치에서 다른 설정 위치로 UIImageView의 애니메이션을 토글하려고합니다. UIButton 키를 누르면 UIImageView를 다른 위치로 애니메이션하고 UIButton의 setBackgroundImage를 다른 imageNamed : 상태로 토글하고 싶습니다.런타임에 생성 된 UIButton을 사용하여 UIImageView의 애니메이션 토글

도움이 될 것입니다. 모든

// UIImageView - Roof Panel Creation 
roofPanel = [[UIImageView alloc]initWithFrame:CGRectMake(300, 400, 400, 400)]; 
[roofPanel setImage:[UIImage imageNamed:@"roof-panel.png"]]; 
[self.view addSubview:roofPanel]; 

// UIButton - Panel Lift Button Creation 
panelLiftButton = [[UIButton alloc]initWithFrame:CGRectMake(722, 300, 70, 50)]; 
[panelLiftButton setImage:[UIImage imageNamed:@"panel-lift-button.png"] forState:UIControlStateNormal]; 
[self.view addSubview:panelLiftButton]; 

답변

0

먼저 그런 다음 대상을 추가있는 UIButton에 UIControlStateSelected에 대한 이미지를 설정해야

... 당신은이 위대한 언어로 코딩을 즐길 수, 목표 C에 오신 것을 환영합니다 (A있는 UIButton의 IBAction를) 아래 코드에 표시된대로 ...

UIControlStateSelected 및 UIControlStateNormal의 이미지가 달라야합니다. 그런 다음

panelLiftButton = [[UIButton alloc]initWithFrame:CGRectMake(722, 300, 70, 50)]; 
    [panelLiftButton setImage:[UIImage imageNamed:@"panel-lift-button.png"] forState:UIControlStateNormal]; 
    [panelLiftButton setImage:[UIImage imageNamed:@"panel-lift-button_ON.png"] forState:UIControlStateSelected]; 
    [panelLiftButton addTarget:self action:@selector(toggleImage:) forControlEvents:UIControlEventTouchUpInside]; 
    [self.view addSubview:panelLiftButton]; 

같은 기능을

는 .....

-(IBAction)toggleImage:(id)sender 
{ 
    UIButton * btn = (UIButton*)sender; 
    btn.selected = ! btn.selected; 
    if (btn.selected) 
    { 
     [UIView animateWithDuration:0.3 animations:^{ 
      [roofPanel setFrame:CGRectMake(0, 0, 400, 400)];//here you can set your desired frame. 
     }]; 
    } 
    else 
    { 
     [UIView animateWithDuration:0.3 animations:^{ 
      [roofPanel setFrame:CGRectMake(300, 400, 400, 400)];//here you can set your original frame. 
     }]; 

    } 

} 

목적 C.

코딩을 즐길 수 있습니다
관련 문제