堆叠多个UIButton会导致图像失真

时间:2013-07-19 21:46:15

标签: image uibutton distortion

所有

我将多个UIButton叠加在一起,将它们全部添加到UIViewController的视图中。 UIButtons都具有相同的框架和相同的.png文件。如果我只是堆叠一些,它们看起来很好:但是我堆叠的越多,它们就越失真。

下图显示了该问题。

enter image description here

顶行显示单个苹果,橙色和香蕉,没有变形。底行显示了6个苹果,60个橙子和120个香蕉的堆叠 - 图像数量的失真变得更糟。

知道为什么会这样吗?它是堆叠图像时的舍入错误,即使我正在使用一个帧并将其分配给所有按钮(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];
    }
}

感谢您的任何见解,

迈克尔

1 个答案:

答案 0 :(得分:0)

这种效果是将半透明像素(即alphas <1.0)叠加在一起的结果。

这在Apple开发者论坛中有所指出,谢谢你!

解决方案是让最顶部的按钮可见,其余部分不可见 - 当我拖动每个按钮时,它会告诉它下方的按钮显示自己。