2012-02-10 55 views
1

如果您在iPod/Music应用程序中注意到,当您点击进度滑块时,您可以轻触小旋钮的相当远的距离,并且它仍然会注册,就好像您已轻敲它一样。 UINavigationController的工具栏中的按钮也是如此,请注意(如果附近没有任何东西),您可以按下相当远的位置。后退按钮,它仍然会注册。扩展UIControl热门地区的最佳途径?

如何最好地实现我自己的控制?我实际上是在UIProgress滑块上做的。

回答

2

有一个复杂的方法,涉及覆盖自定义UIControl子类上的hitTest方法,但最简单的解决方案只是使控件大于屏幕上的可见大小。

例如,对于一个按钮,您可能使按钮本身为50x50像素,但使按钮图形为20x20像素,因此它看起来相当小,但具有很大的命中区域。

相同的技术可以适用于您的滑块。使UISlider框架相当高(比如说50px),但滑块图形要小一些。如果这不能很好地工作,因为控件将它们拉伸到合适的位置,只需使滑块本身的图形透明并在实际滑块控件后面的图像视图中绘制更细的滑块即可。