【问题标题】:why is my UIButton changing size and position after assigning an image? How can I keep it the same?为什么我的 UIButton 在分配图像后会改变大小和位置?我怎样才能保持不变?
【发布时间】:2014-02-24 11:40:20
【问题描述】:

在我为它分配图像后,我的 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];

【问题讨论】:

  • 你使用自动布局吗?
  • 我关闭了自动布局。

标签: ios uibutton uiimage storyboard


【解决方案1】:

我应该设置背景图像而不是图像。这一直是个问题。方面填充仅影响背景图像,因为它是由框架缩放的。

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

【讨论】:

    【解决方案2】:

    试试这个

     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];
    
    【解决方案3】:
    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];
    

    【讨论】:

    • 将自动调整大小的掩码设置为 none 没有任何效果。
    猜你喜欢
    • 2023-02-22
    • 2022-10-01
    • 2022-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    相关资源
    最近更新 更多