>source

SwiftUI를 통해 UISlider를 생성했지만 트랙을 따라 너무 많은 "단계 표시"가 있어서 달성하고자 하는 "모양과 느낌"이 없습니다. 틴트 색상을 검은색으로 바꾸는 것 외에 제거하는 비법을 아는 사람이 있습니까?

UISlider 초기화 중에 단계 값을 전달하는 한 단계/틱 표시가 항상 있는 것 같습니다.

struct setLoggingView: View {
    @State var restfullness: Int
    @State var elapsedRestTime: Double
    var totalRestTime: Double
    var stepValue: Int
    var body: some View {
        GeometryReader { geometry in
            ScrollView {
                VStack {
                    Text("Rested  \(Int(elapsedRestTime)) seconds")
                    Slider(value: $elapsedRestTime,
                           in: 0...totalRestTime,
                           step: Double.Stride(stepValue),
                           label: {
                        Text("Slider")
                    }, minimumValueLabel: {
                        Text("-\(stepValue)")
                    }, maximumValueLabel: {
                        Text("+\(stepValue)")
                    })
                        .tint(Color.white)
                        .padding(.bottom)
                    Divider()
                    Spacer()
                    Text("Restfullness")
                        .frame(minWidth: 0, maxWidth: .infinity)
                    restfullnessStepper(restfullnessIndex: restfullness)
                    Button(action: {
                        print("Update Button Pressed")
                    }) {
                        HStack {
                            Text("Update")
                                .fontWeight(.medium)
                        }
                    }
                    .cornerRadius(40)
                }
                .border(Color.yellow)
            }
        }
    }
}

다른 단계 값을 전달하는 것 외에 의미합니까? 또는 nil을 전달하여 눈금 표시를 완전히 제거하시겠습니까? 내 iOS/macOS 앱에 단계별 슬라이더가 있습니다. 그들은 내가 전달한 단계 값에 따라 다소 현명하게 작동합니다. watchOS는 확실하지 않습니다.

SaganRitual2022-01-22 18:15:13

iOS와 WatchOS가 같은 SwiftUI를 사용한다면 같은 동작이어야 한다고 생각합니다. 예, 다른 단계 값을 전달하여 단계 수를 줄이는 것 외에도 최소/최대 레이블을 표시하고 싶기 때문에 단계 값을 유지하면서 눈금을 제거하고 싶습니다.

Michael2022-01-22 18:15:13

????100% 동일해야 한다는 데 동의합니다. 그러나 이것은 우리가 말하는 Apple입니다. iOS의 슬라이더는 실제로 macOS의 동일한 슬라이더와 다르게 작동합니다. 그래서 제가 "다소"라고 말한 것입니다. 더 많은 도움을 드리지 못해 죄송합니다

SaganRitual2022-01-22 18:15:13

최소/최대 레이블을 제거하면 측면에 더하기 및 빼기 버튼이 표시되고 슬라이더 내 기본 동작이므로 측면에 버튼을 추가하여 사용자 정의하기가 어렵기 때문에 이 문제를 게시합니다. 슬라이더.

Michael2022-01-22 18:15:13

귀하의 응답과 지원에 감사드립니다!

Michael2022-01-22 18:15:13
  • 이전 android : TextInputEditText에서 쉼표 비활성화
  • 다음 javascript : 내 div가 내 자바 스크립트 기능을 엉망으로 만드는 이유는 무엇입니까?