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 に答える