2013-12-12 2 views
1

전원을 켤 때 이미지를 표시하고 꺼져있을 때 이미지를 숨기려면 UISwitch를 사용하려고합니다. 스위치가 켜져있을 때 이미지가 표시되지만 스위치가 꺼지면 숨기지 않는 문제가 계속 발생합니다. 나는 다른 솔루션을 온라인으로 시도했지만 아무도 작동하지 않는 것 같습니다.UISwitch를 사용하여 이미지 표시/숨기기

이것은 내가 시도한 해결책 중 하나입니다. 스위치가 switchname.on 옆에 있는지 확인하는 다른 방법이 있습니까? 어쩌면 다른 진술이 갈 길이 아닌가?

도움을 주시면 대단히 감사하겠습니다.

@property(nonatomic, strong) UIImageView *spawnImage; 


- (IBAction)changeSwitch:(id)sender{ 

UIImageView *spawnImage = [[UIImageView alloc] initWithFrame:CGRectMake(10, 70, 300, 169)]; 

if(spawnPoints.on){ 
    NSLog(@"Switch is ON"); 
    [spawnImage setImage:[UIImage imageNamed:@"freight-spawn.png"]]; 

} 

else{ 
    NSLog(@"Switch is OFF"); 
    [spawnImage setImage:[UIImage imageNamed:@"freight-none.png"]]; 

} 

[self.view addSubview:spawnImage]; 
} 

업데이트!

@meda 덕분에 해결책을 찾아 냈습니다.

.H이 비어있는 UIImageView가에 위치 끌어 연결의 출구에 매여해야하는 IB 용액임을

@interface ViewController: UIViewController { 
    IBOutlet UIImageView *spawnImage; 
} 

하는 .m

-(IBAction)changeSwitch:(id)sender{ 
if(spawnPoints.on){ 
    NSLog(@"Switch is ON"); 
    [spawnImage setImage:[UIImage imageNamed:@"freight-spawn.png"]]; 
} 

else{ 
    NSLog(@"Switch is OFF"); 
    [spawnImage setImage:[UIImage imageNamed:@"freight-none.png"]]; 
} 

[self.view addSubview:spawnImage]; 
} 

참고.

답변

0

스위치가 switchname.on 이외에 있는지 확인하는 다른 방법이 있습니까?

예는 isOn 대신 on 시도 할 수 있습니다 :

if(spawnPoints.isOn){ 
     NSLog(@"Switch is ON"); 
     [spawnImage setImage:[UIImage imageNamed:@"freight-spawn.png"]]; 
    } 
    else{ 
     NSLog(@"Switch is OFF"); 
     [spawnImage setImage:[UIImage imageNamed:@"freight-none.png"]]; 
    } 

또는

[spawnImage setImage:[UIImage imageNamed:spawnPoints.isOn? 
        @"freight-spawn.png": @"freight-none.png"]]; 
여전히 같은 문제가 발생, 첫 번째 이미지는 스위치 변화에 나타나지만
+0

는하지 않습니다 숨는 장소. – Seslyn

+0

@Seslyn 인터페이스 파일에'@property (strong, nonatomic) IBOutlet UISwitch * spawnPoints;가 있어야합니다. – meda

+0

예, 있습니다. – Seslyn