Как исправить ошибки типа математической операции с помощью Swift? - PullRequest
0 голосов
/ 17 февраля 2020

Я экспериментировал со Swift UI и продолжаю сталкиваться с проблемами с простыми математическими операциями, такими как ошибки типа «разделяй или отвергай». Кажется, больше подходит, когда я начинаю использовать функцию, которая использует CGFloat. Я попытался выполнить конкретное приведение c, но это, похоже, не помогает, я просто получаю сообщение «Неоднозначная ссылка на члена» - »и не понимаю, откуда возникает двусмысленность.

Это код SwiftUI, который я пытаюсь использовать:

   var body: some View {
        let baseHeight:CGFloat = 300.0

        let transparentColor:Color = Color.white.opacity(Double(0.0))

        return ScrollView(.vertical){
            VStack(alignment: HorizontalAlignment.leading) {
                    MapView()
                    .frame(height: baseHeight)
                    .offset(y: 0)

                    GeometryReader { geometry in
                        HStack {
                            CircleView<TitleView>(fillColor: transparentColor, scale: baseHeight / min(CGFloat(1) + CGFloat(geometry.frame(in: .global).minY), baseHeight)) {
                                TitleView(city: self.selectedCity)
                            }
                            .frame(minWidth: CGFloat(0), maxWidth: .infinity, minHeight: baseHeight, maxHeight: baseHeight)
                            .offset(y: -baseHeight) // Here I get the error "Ambiguous reference to member '-'"
                        }.frame(maxWidth: .infinity)
                    }

                Spacer().padding(.bottom, baseHeight / 3.0)

                    ForEach(cities) { city in
                        Text(city.name)
                            .padding()
                            .onTapGesture {
                                $selectedCity = city
                        }
                    }

                    Spacer()
                }
        }.edgesIgnoringSafeArea(.all)

    }

Вот как это выглядит:

error message

Как я могу а) исправить это, б) предотвратить это снова, c) понять, почему это происходит?

Спасибо

1 Ответ

0 голосов
/ 17 февраля 2020

Проблема была со строкой onTapGesture, которая, по-видимому, была недействительной и вызвала математическую ошибку. Я заменил его кнопкой, чтобы обработать щелчок вместо этого. Действительно вводит в заблуждение ошибки, но, надеюсь, это исправлено в более новых версиях Xcode.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...