我有一个按钮,其大小可能会根据要求而有所不同。但我需要在其上设置的图像,始终保持在其中心。
我现在使用的代码是:
[pAddButton setContentVerticalAlignment:UIControlContentVerticalAlignmentCenter];
[pAddButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
[pAddButton setContentMode:UIViewContentModeCenter];
但是,当我增加按钮的宽度时,图像会自动拉伸。这就是我想要阻止的。
答案 0 :(得分:1)
尝试使用此代码图像框到按钮
[image drawInRect:CGRectMake((self.frame.size.width/2) - (image.size.width/2), (self.frame.size.height / 2) - (image.size.height / 2), image.size.width, image.size.height)];
答案 1 :(得分:1)
您是否尝试过将imageView的内容模式设置为中心,如下所示:
pAddButton.imageView.contentMode = UIViewContentModeCenter;
答案 2 :(得分:0)
使用setImage:forState:
代替setBackgroundImage:forState:
设置图片。
如果这没有帮助,您可以使用imageEdgeInsets
来缩小图片的宽度。
答案 3 :(得分:0)
您可以在setBackgroundImage中使用setImage instesd或在按钮[button addSubView:imageView]上添加图像作为subView。
答案 4 :(得分:0)
您是否尝试通过以下方式简化图像居中:
myImageView.center = pAddButton.center;
答案 5 :(得分:0)
试试这个,
CGPoint centerImageView = imageView.center;
centerImageView = pAddButton.center;
ImageView.center = centerImageView;