iPhone OS の UISlider コントロールに関する長年の問題は、それを高くすることができないということです。より具体的には、サムとトラックに背の高い画像を指定することで背が高く見えるようにすることができますが、タッチ領域の高さはわずか 23 ピクセルのままです。
UISlider をサブクラス化し、クラスで pointInside をオーバーライドする必要があります。
// How many extra touchable pixels you want above and below the 23px slider
#define SIZE_EXTENSION_Y 10
- (BOOL) pointInside:(CGPoint)point withEvent:(UIEvent*)event {
CGRect bounds = self.bounds;
bounds = CGRectInset(bounds, 0, SIZE_EXTENSION_Y);
return CGRectContainsPoint(bounds, point);
}
Interface Builder で、新しい UISlider サブクラスを使用するようにスライダーを設定すると、43px のタッチ可能な高さのスライダーが作成されます。