2

私は今日目標 C を開始し、最後の 1 時間、ボタンをクリックしたときに画像を切り替える方法を考え出そうとしました。これは 2 つのセグメントを持つセグメント化ボタンです。最初のセグメント0.jpg をロードし、2 番目のセグメントは 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]]; 
    }

}
4

3 に答える 3

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;
       }

  }
于 2012-05-25T12:50:22.403 に答える
1

使用する必要があります

if (clockselectout.selectedSegmentIndex == 0) {

int値を比較します。

いつでも 0 から 1 にスワップできます。

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

は常に false です ;)

于 2012-05-25T12:43:02.300 に答える
0

==のみが問題だった場合、ログに出力されるべきではありませんでした

2012-05-25 13:22:31.367 Clock2 [3398:f803]クリックされたセグメント:1 2012-05-25 13:22:31.368 Clock2 [3398:f803] 1.jpg

それがそのブロックに入っていなかった場合、それはログの上に印刷されるべきではなかったので、私は正しいですか?

于 2012-05-25T13:11:28.057 に答える