1

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

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.如何用代码解决这个问题?

4

1 回答 1

-1

将 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;
}
于 2013-11-01T12:45:50.043 回答