2

我想让 UISwitch 周围的触摸区域每边大 10 个点。查看相关帖子中的一些建议(UIButton:使命中区域大于默认命中区域),我尝试使用以下方法增加 UISwitch 周围的框架,但是它会导致整个 UISwitch 拉伸填充新框架。

滑动开始 箭 带填充物

有没有更合理的方法可以做到这一点?

// Increase margin around switch based on width
const CGFloat desiredWidth = 260.0f;  // real width is 240
const CGFloat margin = 0.5f * (desiredWidth - self.beginSwitch.frame.size.width);

// Add margin on all four sides of the switch
CGRect newFrame = self.beginSwitch.frame;
newFrame.origin.x -= margin;
newFrame.origin.y -= margin;
newFrame.size.width  += 2.0f * margin;
newFrame.size.height += 2.0f * margin;

self.beginSwitch.frame = newFrame;
4

1 回答 1

0

我通过在图像(或在您的情况下为开关)前面放置一个不可见的按钮(您的尺寸较大)来完成这些壮举。这样做您可以设置开关的状态,并基于开关当前状态的倒数。还要在隐形按钮的操作代码中执行您的实际操作。

于 2013-02-01T21:41:51.033 回答