在ios中自定义progressview / UISlider
Posted
技术标签:
【中文标题】在ios中自定义progressview / UISlider【英文标题】:customize progressview / UISlider in ios 【发布时间】:2014-08-20 11:14:54 【问题描述】:我想像图像一样显示进度(除了屏幕颜色的黑色背景)。我为此使用进度视图。在这里用户没有机会手动更改进度。
请帮帮我。
【问题讨论】:
您可以尝试设置UIProgressView
的trackImage
和progressImage
。但我想如果进度低,那个小圆圈可能是个问题。因此,编写自己的 progressView 来执行此操作可能会更容易。或者尝试自定义带有旋钮的UISlider
并将userInteractionEnabled
设置为NO
@robert 我尝试使用 trackimage 和 progressImage。但这并没有反映出来。 UISlider 也不适用于此。
好的 - 自 ios7 以来,这似乎不再起作用了......所以你可以选择做你自己的类,或者子类 UIProgressView
来正确设置图像和框架,就像这里提到的那样:@ 987654321@
我在这里找到了解决方案raywenderlich.com/21703/user-interface-customization-in-ios-6
添加了有问题的答案。
【参考方案1】:
这可能对某人有所帮助。我已经用 UISlider 而不是 UIProgressView 实现了这种行为。 UISlider 解决了这个问题。
UIImage *minImage = [[UIImage imageNamed:@"slider_minimum.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 0)];
UIImage *maxImage = [[UIImage imageNamed:@"slider_maximum.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 0)];
UIImage *thumbImage = [UIImage imageNamed:@"thumb.png"];
[self.uisliderObj setMaximumTrackImage:maxImage
forState:UIControlStateNormal];
[self.uisliderObj setMinimumTrackImage:minImage
forState:UIControlStateNormal];
[self.uisliderObj setThumbImage:thumbImage
forState:UIControlStateNormal];
来源来自link
【讨论】:
【参考方案2】:您会在 WWW.COCOACONTROLS.COM 上找到很多简单的代码。你可以检查一下。
如果你想自己定制你也可以继承 UIPROGRESSBAR 类
并更改 UIProgressView 的 trackImage 和 progressImage。
【讨论】:
轨道和进度图像可以轻松设置,无需通过 UIAppearance 或直接从视图控制器进行子类化。 那是真的.. 还有更多的属性可以设置,而不是每次都写。所以我建议子类化以使其成为一个通用类别。取决于开发人员的观点如何编写和制作什么。 是的,你可以创建一个子类,但是你所说的“你必须子类”是不准确的。以上是关于在ios中自定义progressview / UISlider的主要内容,如果未能解决你的问题,请参考以下文章
Swift ui macos ProgressView 使用未解析的标识符'ProgressView'
如何在 Material-ui 的 TableSortText 组件中自定义彩色文本和图标?