Search code examples
iosuiviewios6deprecatedstretching

Replacement for UIView's contentStretch?


In iOS 6.0 the contentStretch property of UIView was deprecated. How can I achieve the same functionality with new/old/other API?

The functionality I am looking for is stretching just part of an image (everything but the edges) on a UIButton.


Solution

  • Use resizableImageWithCapInsets and UIEdgeInsets to make a stretching UIButton background image. For example:

    UIImage* image = [UIImage imageNamed:@"image.png"];
    image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(0, 20, 0, 20)];
    [button setBackgroundImage:image forState:UIControlStateHighlighted];
    

    I don't think you can stretch more than one pixel both horizontal and vertical.

    Hope this helps.