繁体   English   中英

为什么分配图像后我的UIButton更改大小和位置? 如何保持相同?

[英]why is my UIButton changing size and position after assigning an image? How can I keep it the same?

我给它分配图像后,UIButton的大小和位置会发生变化。 我不知道为什么。 有人知道吗?

我尝试将按钮重新定位到其原始位置,但是它不起作用。

CGRect buttonFrame = _subscribeButton.frame;
CGAffineTransform transform = _subscribeButton.transform;

[_subscribeButton setTitle:@"Subscribe" forState:UIControlStateNormal];

[_subscribeButton setImage:[UIImage imageNamed:@"bigButton.png"] forState:UIControlStateNormal];

[_subscribeButton setFrame:buttonFrame];
[_subscribeButton setTransform:transform];

我应该设置backgroundImage而不是image。 这一直是问题所在。 宽高比填充仅会影响背景图像,因为它会按框架缩放。

答案:[按钮setBackgroundImage:[UIImage imageNamed:@“ blah.png”]];

change this

CGAffineTransform transform = _subscribeButton.transform;

to

CGAffineTransform transform = CGAffineTransformIdentity;

更新:

CGRect buttonFrame = _subscribeButton.frame;

CGAffineTransform transform = CGAffineTransformIdentity;

[_subscribeButton setTitle:@"Subscribe" forState:UIControlStateNormal];

[_subscribeButton setImage:[UIImage imageNamed:@"bigButton.png"] forState:UIControlStateNormal];

[_subscribeButton setContentMode:UIViewContentModeScaleToFill];

_subscribeButton.autoresizingMask = UIViewAutoresizingNone;

_subscribeButton.autoresizesSubviews = NO;



[_subscribeButton setFrame:buttonFrame];

[_subscribeButton setTransform:transform];

尝试这个

 CGRect buttonFrame = _subscribeButton.frame;
    CGAffineTransform transform = CGAffineTransformIdentity;

    [_subscribeButton setTitle:@"Subscribe" forState:UIControlStateNormal];

    [_subscribeButton setImage:[UIImage imageNamed:@"bigButton.png"] forState:UIControlStateNormal];

    [_subscribeButton setFrame:buttonFrame];
    [_subscribeButton setTransform:transform];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM