在ios中自定义progressview / UISlider

Posted

技术标签:

【中文标题】在ios中自定义progressview / UISlider【英文标题】:customize progressview / UISlider in ios 【发布时间】:2014-08-20 11:14:54 【问题描述】:

我想像图像一样显示进度(除了屏幕颜色的黑色背景)。我为此使用进度视图。在这里用户没有机会手动更改进度。

请帮帮我。

【问题讨论】:

您可以尝试设置UIProgressViewtrackImageprogressImage。但我想如果进度低,那个小圆圈可能是个问题。因此,编写自己的 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'

在 Unity3D 游戏中自定义 iOS 音量 HUD

如何在 Material-UI 自动完成控件中自定义填充?

如何在 Material-ui 的 TableSortText 组件中自定义彩色文本和图标?

如何在 React ui-fabric 库中自定义 GroupedList 组件中的标题

在Blazor 中自定义权限验证