- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
UISlider
的默认行为是它的拇指不在轨道的开始/结束处居中。如下所示:
我想修改它的行为以获得:
拇指的中心可以定位在起点或终点。
我试图用空的 UIView
覆盖开始/结束。效果是看起来几乎没问题,但拇指有阴影显示我在某些位置的 hack(我可以接受),但是我的 hacky View 覆盖了一点拇指并捕获它的触摸事件(甚至当用户交互被禁用时)。
所以我想我需要在拇指和轨道之间打包我的hacky View 。可能不操纵其内部 View 。有什么想法吗?
最佳答案
UISlider 类有一个方法 thumbRect(forBounds:trackRect:value:)您可以覆盖它以控制 slider 的缩略图图像的绘图矩形。因此,假设这个空间是 5 个点(可能会因您使用的拇指图像而异),我们可以执行以下操作:
UISlider
并覆盖 thumbRect(forBounds:trackRect:value:)
以将我们自己挂接到进程中完整的代码应该是这样的:
class CustomSlider: UISlider {
let defaultThumbSpace: Float = 5
lazy var startingOffset: Float = 0 - defaultThumbSpace
lazy var endingOffset: Float = 2 * defaultThumbSpace
override func thumbRect(forBounds bounds: CGRect, trackRect rect: CGRect, value: Float) -> CGRect {
let xTranslation = startingOffset + (minimumValue + endingOffset) / maximumValue * value
return super.thumbRect(forBounds: bounds,
trackRect: rect.applying(CGAffineTransform(translationX: CGFloat(xTranslation),
y: 0)),
value: value)
}
}
关于ios - 拇指中心位于轨道起点和终点的 UISlider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40502400/
我需要用一些数据计算弧长: 起始点坐标(Xs、Ys、Zs) 结束点及坐标(Xe、Ye、Ze) 中心点及坐标(Xc、Yc、Zc) Axis 向量,包含分量(Xa、Ya、Za) Arc 从 Start 点
通常 UICollectionView 在滚动超过它的 contentSize 时开始反弹,即当 contentOffset contentSize.width用于水平方向。 是否可以更改此行为,以
我的要求是,当表格宽度大于当前视口(viewport)时,必须添加左右两个按钮。当用户单击左侧按钮时,表格必须向左移动,同样向右移动。 所以我决定使用 jQuery 动画方法来完成要求。我的挑战是,我
我有一堆坡道,我想知道它们的起点和终点(如果有多个起点/终点,我想知道它们是如何连接的)。我目前将这些作为 List ret = new List(); FilteredElementCollecto
我使用了以下代码,仅输入start_point和end_point: import matplotlib.pyplot as plt from matplotlib.path import Path
我正在尝试从 mapr fs origin 进行简单的数据移动到 mapr fs destination (这不是我的用例,只是为了测试目的做这个简单的 Action )。尝试 validate 时这
我是一名优秀的程序员,十分优秀!