你能通过Interface Builder设置UIEdgeInsets吗?

lms*_*lms 7 xcode cocoa-touch interface-builder

我想制作一个带有圆角但不会歪斜的可拉伸按钮.目前我正在以编程方式这样做:

[self.myButton setImage:[[UIImage imageNamed:@"my-button"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 4, 0, 4)] forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

在IB中有没有办法做到这一点,并且我不得不为我的所有按钮创建插座并且viewDidLoad通过上述调用乱丢我的方法?

nic*_*mro 1

不。目前还没有办法实现这一目标。

但是,您可以子类化 UIButton 并覆盖drawRect:

- (void)drawRect:(CGRect)rect
{
    UIImage *textFieldBackground = [[UIImage imageNamed:@"my-button.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 4, 0, 4)];
    [textFieldBackground drawInRect:[self bounds]];
} 
Run Code Online (Sandbox Code Playgroud)