如何更改UIButton框架以适应IOS中的图像



我在情节提要中创建了一个带有图像的按钮。突出显示(触摸)时,我希望此按钮用更大的图像更改图像并根据新图像调整大小。故事板已设置,这是我在事件内部修饰的代码:

if(self.testButton.state == UIControlStateHighlighted)
{
    self.testButton.frame = CGRectMake(100, 20, 120, 145);
    self.testButton.contentMode = UIViewContentModeScaleAspectFill;
}
NSLog(@"End Frame: ( %f %f %f %f )", self.testButton.frame.origin.x, self.testButton.frame.origin.y, self.testButton.frame.size.width, self.testButton.frame.size.height );

但我的框架尺寸没有改变。我的问题

1.我可以用故事板解决这个问题吗?
2.如何用代码解决这个问题?

将 buttonFrame 声明为实例变量并添加目标。

CGRect buttonFrame;
[self.testButton addTarget:self action:@selector(touchDown) forControlEvents:UIControlEventTouchDown];
[self.testButton addTarget:self action:@selector(touchUp) forControlEvents:UIControlEventTouchUpInside];
}
- (void)touchDown
{
    buttonFrame = self.testButton.frame;
    self.testButton.frame = CGRectMake(self.testButton.frame.origin.x, self.testButton.frame.origin.y, 120, 145);
    self.testButton.contentMode = UIViewContentModeScaleAspectFill;
}
- (void)touchUp
{
    self.testButton.frame = buttonFrame;
}

最新更新