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;