我有一个UIButton
with atitleLabel
和 a backgroundImage
。我想在按钮处于突出显示状态时调整其大小。这个调整大小应该会影响titleLabel
和backgroundImage
,但我不想修改按钮的点击区域。
目前我正在尝试这样。它几乎可以工作,但它也会影响命中区域:
- (void)setHighlighted:(BOOL)highlighted
{
if ( highlighted && !self.highlighted )
{
self.transform = CGAffineTransformMakeScale(scaleFactorOnTouch, scaleFactorOnTouch);
}
else if ( !highlighted && self.highlighted )
{
self.transform = CGAffineTransformMakeScale(1.0, 1.0);
}
[super setHighlighted:highlighted];
}
这导致当您触摸按钮内部并将其拖动到其(扩展 100 像素)点击区域之外时,当您在扩展的点击区域边缘拖动时会出现这种摆动/震颤。摆动是因为 hitArea 在突出显示和非突出显示状态之间不断变化。
我也尝试修改 self.layer.transform 属性,但这也会导致点击区域发生变化。
如果可能的话,我想避免为突出显示的状态设置不同的背景图像。