- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我将 UISlider
子类化以使拇指变小,并且我想覆盖 minimumValueImageRectForBounds
和 maximumValueImageRectForBounds
以使其宽度减少 2px。所以我的代码是
- (CGRect)minimumValueImageRectForBounds:(CGRect)bounds
{
CGRect stdRect = [super minimumValueImageRectForBounds:bounds];
return CGRectMake(stdRect.origin.x + 2, stdRect.origin.y, stdRect.size.width - 2, stdRect.size.height);
}
重点是 stdRect 是空矩形 (0, 0, 0, 0)。
此外,如果我明确地设置一些像那样的矩形
- (CGRect)minimumValueImageRectForBounds:(CGRect)bounds
{
return CGRectMake(2, 0, 40, 8);
}
它根本不影响最小值图像位置。
有什么想法吗?
最佳答案
哈哈,我刚刚弄明白了。我没有仔细阅读。
设置 minimumValueImage
与调用 setMinimumTrackImage:forState:
不同。 minimumValueImage
是显示在 slider 左侧的图像,与 slider 中发生的事情无关。重写 minimumValueImageRectForBounds
会更改此图像的尺寸(默认大小为 0pt 宽), slider 框架的宽度会变小并因此向右移动。据我了解,没有办法修改 minimumTrackImage 的矩形(例如使其延伸到拇指图像的右侧);只能更改图像。
我还没有真正弄清楚允许您设置 minimumValueImage
的意义。看起来您可以通过更改 slider 的大小并将单独的 UIImageView 添加到 slider 的一侧来完成相同的事情。谁知道。
请注意,我在这里所说的一切都以相同的方式适用于 maximumValueImage
和 setMaximumTrackImage:forState
方法。
关于iphone - UISlider minimumValueImageRectForBounds : and super maximumValueImageRectForBounds returns empty rectangle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9564708/
我将 UISlider 子类化以使拇指变小,并且我想覆盖 minimumValueImageRectForBounds 和 maximumValueImageRectForBounds 以使其宽度减少
我是一名优秀的程序员,十分优秀!