- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
SwiftUI自定义组件之音量滑块和苹果音乐滑块动画特效(教程含源码)
实战需求
\hSwiftUI 自定义组件之音量滑块和苹果音乐滑块动画特效
本文价值与收获
看完本文后,您将能够作出下面的界面
1:24??
1:24
??
-
-I
实战代码
1、主界面
1
importSwiftUI
2
3
structContentView:View{
4
@StateprivatevarplayerDuration:TimeInterval=100
privateletmaxDuration=TimeInterval(240)
7
@Stateprivatevarvolume:Double=0.3
privatevarmaxVolume:Double=1
10
@StateprivatevarsliderValue:Double=10
privatevarmaxSliderValue:Double=100
13
14 @Stateprivatevarcolor:Color=.white
15
varbody:someView{
ZStack{
LinearGradient(colors:[.brown,.brown.opacity(0.1)],startPoint:.top,endPoint:.bottom)
.ignoresSafeArea()
.overlay(.ultraThinMaterial)
21
22 VStack(alignment:.leading,spacing:60){
23 individualComponentsSection
24
25 Spacer()
26 }
27 .padding([.horizontal,.top],50)
28 }
29 }
30
31 privatevarindividualComponentsSection:someView{
32 VStack(alignment:.trailing,spacing:20){
33 VerticalVolumeSlider(value:$volume,inRange:0...maxVolume,activeFillColor:color,fillColor:normalFillColor,emptyC
34
35 }
36 .frame(height:130)
37
38 CustomSlider(value:$sliderValue,inRange:0...maxSliderValue,activeFillColor:color,fillColor:normalFillColor,empt
39
40 }
41 .frame(height:40)
42
43 MusicProgressSlider(value:$playerDuration,inRange:TimeInterval.zero...maxDuration,activeFillColor:color,fillColor
44
45 }
46 .frame(height:40)
47
48 VolumeSlider(value:$volume,inRange:0...maxVolume,activeFillColor:color,fillColor:normalFillColor,emptyColor:em
49
50 }
51 .frame(height:30)
52
53// ColorPicker(selection:$color){
54
//
Text(SelectColor)
55
//
}
56
}
57
}
58
59
privatevarnormalFillColor:Color{color.opacity(0.5)
}
60
privatevaremptyColor:Color{color.opacity(0.3)}
61
}
62
63
structContentView_Previews:PreviewProvider{
64
staticvarpreviews:someView{
65
ContentView()
66
}
67
}
2、自定义Slider
1
2importSwiftUI
3
structCustomSliderT:BinaryFloatingPoint:View{
@Bindingvarvalue:T
letinRange:ClosedRange
文档评论(0)