0

全て:

UIViewController のビューにすべて追加することで、複数の UIButton を互いに積み重ねています。UIButton はすべて同じフレームと同じ .png ファイルを持っています。数枚重ねるだけなら問題ないように見えますが、重ねるほど歪んでいきます。

下の図は問題を示しています。

ここに画像の説明を入力

一番上の行は、歪みのない 1 つのリンゴ、オレンジ、バナナを示しています。一番下の行は、リンゴ 6 個、オレンジ 60 個、バナナ 120 個のスタックを示しています。画像の数が増えると歪みが悪化します。

なぜこれが起こっているのですか?1 つのフレームを取得してすべてのボタンに割り当てているにもかかわらず、画像をスタックする際の丸めエラーですか (DraggableUIButton は UIButton のサブクラスです):

-(void)placeDraggableBTNs:(int)numBTNsToMake withDimensions:(CGRect)frame startingWithTag:(int)tag usingImage:(UIImage *)image{
    DraggableUIButton * btn;
    for(int j=0; j < numBTNsToMake; j++){
        btn = [[DraggableUIButton alloc]initWithFrame:frame];
        [btn setImage:image forState:UIControlStateNormal];
        btn.tag = tag;
        [self.view addSubview:btn];
    }
}

洞察をありがとう、

マイケル

4

1 に答える 1

0

この効果は、半透明のピクセル (つまり、アルファが 1.0 未満のピクセル) を互いに重ね合わせた結果です。

これは Apple 開発者フォーラムで指摘されました。

解決策は、一番上のボタンを表示し、残りのボタンを非表示にすることでした。各ボタンをドラッグすると、そのすぐ下にあるボタンが表示されます。

于 2013-08-13T19:48:02.537 に答える