Невозможно преобразовать значение типа Int в ожидаемый тип аргумента Angle. Xcode 11, Mac 10.15, SwiftUI - PullRequest
0 голосов
/ 16 октября 2019

Невозможно преобразовать значение типа Int в ожидаемый тип аргумента Angle. Xcode 11, Mac 10.15, SwiftUI

    image
        .clipShape(rotation3DEffect( Angle, axis: (x: 15, y: 15, z: 15)))
        .overlay(Circle().stroke(Color.white, lineWidth: 4))
        .shadow(radius: 10)

Какое значение следует указывать как «Угол», я пробовал разные способы, но не работает.

Ответы [ 2 ]

0 голосов
/ 17 октября 2019

Вы должны передать Shape в .clipShape(), например:

.clipShape(Circle())

Вы должны применить .rotation3DEffect в качестве отдельного модификатора, и он принимает в качестве аргументов Angle икортеж из 3 CGFloats, например:

.rotation3DEffect(Angle(degrees: 10), axis: (15.0, 15.0, 15.0))

, поэтому ваше изображение должно быть объявлено так:

image
    .clipShape(Circle())
    .overlay(Circle().stroke(Color.white, lineWidth: 4))
    .rotation3DEffect(Angle(degrees: 10), axis: (15.0, 15.0, 15.0))
    .shadow(radius: 10)
0 голосов
/ 17 октября 2019

Попробуйте сделать это:

image
        .clipShape(rotation3DEffect( .degrees(Angle), axis: (x: 15, y: 15, z: 15)))
        .overlay(Circle().stroke(Color.white, lineWidth: 4))
        .shadow(radius: 10)

Источник: https://www.hackingwithswift.com/quick-start/swiftui/how-to-rotate-a-view-in-3d

PS при условии, что Angle - это ваш интересующий вас int, который нельзя преобразовать в уголЛучше всего объявлять константы и переменные в в нижнем регистре , т.е. это должно быть angle, а не Angle. При наличии большего контекста это обычно не является большой проблемой, но в этом контексте трудно понять, что Angle является рассматриваемой константой или переменной, потому что она написана заглавными буквами.

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