2012-05-25 46 views
2

我今天開始了客觀的C和最後一個小時我一直試圖解決如何切換圖像,當我點擊一個按鈕,這是一個分段按鈕,有2段,第一段應該加載0.jpg,第二段加載1.jpg。切換段上的圖片點擊

我可以讓它從0-> 1但不回來,所以它就好像只有第一個開關正在註冊,有什麼想法?

(正如你看到的,我已經嘗試過調試,一切都應該檢查出:

2012-05-25 13:22:31.173 Clock2[3398:f803] Segment clicked: 0 
2012-05-25 13:22:31.174 Clock2[3398:f803] 0.jpg 
2012-05-25 13:22:31.367 Clock2[3398:f803] Segment clicked: 1 
2012-05-25 13:22:31.368 Clock2[3398:f803] 1.jpg 

- (IBAction)clockselect:(id)sender { 
    NSString* segindex= [NSString stringWithFormat:@"%d", clockselectout.selectedSegmentIndex]; 
    NSString* type= @".jpg"; 
    NSString* filename= [segindex stringByAppendingString:type ]; 
    if (clockselectout.selectedSegmentIndex == '0') { 
     NSLog(@"Segment clicked: %d", clockselectout.selectedSegmentIndex); 
     // NSLog(filename); 
     [clockimg setImage:[UIImage imageNamed: filename]]; 
    } else { 
     NSLog(@"Segment clicked: %d", clockselectout.selectedSegmentIndex); 
     // NSLog(filename); 
     [clockimg setImage:[UIImage imageNamed: filename]]; 
    } 

} 

回答

2
-(IBAction)segmentControleChanged 
{ 

    switch(self.yourSegmet.selectedSegmentIndex) 
    { 

     case 0: 
     [clockimg setImage:[UIImage imageNamed: @"image1"]]; 
     break; 

      case 1: 
      [clockimg setImage:[UIImage imageNamed:@"image2"]]; 
      break; 

      default: 
      break; 
     } 

    } 
+0

非常感謝:D –

+0

樂意幫忙:) – superGokuN

1

必須使用

if (clockselectout.selectedSegmentIndex == 0) { 

比較int值。

你總是可以s WAP從0到1,因爲

if (clockselectout.selectedSegmentIndex == '0') { 

始終爲false;)

+0

+1 - nice catch :) –

+0

@Jamie Taylor:我想你明白了。你在比較一個'NSString'而不是'int' –

+0

謝謝:D看不出我是怎麼錯過的 –

0

如果只有==被問題然後在日誌它不應該打印

2012-05-25 13 :22:31.367 Clock2 [3398:f803] Segment clicked:1 2012-05-25 13:22:31.368 Clock2 [3398:f803] 1.jpg

因爲如果它沒有進入該塊,那麼它應該上面沒有打印我正確嗎?那麼你是如何獲得高於日誌的?

+1

OP從來沒有說過==是問題所在? – Jimmery