3

修繕!

あなたはそれを信じないでしょう.それはそれを台無しにするウィンターボードのテーマでした! バガー!無効なテーマと出来上がり、完全に機能します。問題のテーマは、興味のある人のための「Ayecorn」でした。クールではありません!これが同じ問題に遭遇した他の人に役立つことを願っています.

申し訳ありませんが、すべての入力に感謝します! ここには素晴らしいコミュニティがあります。

元の質問:

Xcode 4.5 での簡単なテスト iPhone アプリ:

Storyboard を介して UISegmentedControl を使用してビューを作成し、属性インスペクターを介して色を設定します。

シミュレーターで実行すると、色が正常に表示されます。

ここに画像の説明を入力

デバイスで実行すると、色はシースルー/クリアです。

ここに画像の説明を入力

(上記の例では、個々のセグメントに色を付けていますが、新しいプロジェクトを作成し、セグメント コントロールをビュー (バー タイプ) に追加したところ、透けて見えるようになりました!?

誰もがこれを以前に経験し、これを修正する方法についてアドバイスを持っていますか?

ありがとう

4

4 に答える 4

1

シミュレーターは、以前に使用した古いイメージをキャッシュしている可能性があります。シミュレーターとプロジェクト全体をクリーンアップして、イメージがシミュレーターに適切にロードされていることを確認します。

于 2013-06-07T10:44:23.137 に答える
1

以下のコードを貼り付けてみてください

- (void)viewDidLoad
{
    UISegmentedControl *segmentControl=[[UISegmentedControl alloc]initWithItems:[NSArray arrayWithObjects:@"1",@"2",nil] ];
    [segmentControl setSegmentedControlStyle:UISegmentedControlStyleBar];
    [segmentControl setFrame:CGRectMake(20, 20, 200, 30)];

    [self.view addSubview:segmentControl];

    [segmentControl addTarget:self action:@selector(changeSegment:) forControlEvents:UIControlEventValueChanged];

    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

-(void)changeSegment:(UISegmentedControl*)sender
{
    for (int i=0; i<[sender.subviews count]; i++)
    {
        UIColor *tintcolor;
        if ([[sender.subviews objectAtIndex:i]isSelected] )
        {
            tintcolor=[UIColor redColor];
            [[sender.subviews objectAtIndex:i] setTintColor:tintcolor];
        }

        if (![[sender.subviews objectAtIndex:i]isSelected]){
            tintcolor=[UIColor grayColor];
            [[sender.subviews objectAtIndex:i] setTintColor:tintcolor];
        }
    }
}
于 2013-06-07T10:44:47.010 に答える
0

View AttributesのDrawingセクションでOpaqueオプションがオフになっている可能性があります。

エミュレーターでの動作がデバイスの動作とは異なり、不透明設定に関連していたという、これに似た問題があったことを漠然と思い出しました。

于 2013-06-07T11:39:30.113 に答える
0

あなたはそれを信じないでしょう.それはそれを台無しにするウィンターボードのテーマでした! バガー!無効なテーマと出来上がり、完全に機能します。問題のテーマは、興味のある人のための「Ayecorn」でした。クールではありません!

すべての入力者に感謝します! ここに素晴らしいコミュニティがあります!

于 2013-06-07T12:59:50.397 に答える