У меня есть экран swiftui , который отображает данные в формате сетки, динамически определяя ячейки, чтобы они всегда заполняли доступную ширину, и убедиться, что они всегда являются квадратами.
У меня хорошо работает макет, но градиенты немного разочаровывают. При создании RadialGradient вам необходимо указать beginradius и endradius в фактических точках экрана, а не на единичных точках (от 0,0 до 1,0). /p>
В приведенном выше примере я выбрал произвольный размер 100 баллов для endradius . Это работает просто отлично, но на самом деле придает квадратам другой вид, когда они разные размеры. Посмотрите два примера ниже. >
Пример 2 - 2x3 Grid:
< /p>
Вот весь код в примере Project contentView.swift < /strong>, который четко демонстрирует, что я имею в виду: < /p>
import SwiftUI
struct MyDataItem: Identifiable {
let id: UUID = UUID()
let text: String
let isBlue: Bool
}
struct MyDataRow: Identifiable {
let id: UUID = UUID()
let items: [MyDataItem]
}
struct ContentView: View {
@State private var datasetIndex: Int = 0
@State private var sets = [
// First data set
[
MyDataRow(items: [
MyDataItem(text: "A", isBlue: false),
MyDataItem(text: "B", isBlue: true),
MyDataItem(text: "C", isBlue: true),
]),
MyDataRow(items: [
MyDataItem(text: "D", isBlue: false),
MyDataItem(text: "E", isBlue: false),
MyDataItem(text: "F", isBlue: false),
]),
],
Я хочу, чтобы радиалграграда < /strong> использует эндрадий, который соответствует высоте и ширине квадрата. < /p>
< Br /> Я бы хотел, чтобы он мог сделать это автоматически. LinearGradient , например, принимает UnitPoint для StartPoint и Endpoint , что было бы идеальным, но для RadialGradient нам нужно выполнить всю работу, я думаю. /p>
Я пытался обернуть его так, рассчитывая endradius < /strong> с помощью geometryReader < /strong>. Этот терпит неудачу, потому что «Компилятор не может проверить это выражение в разумное время; попробуйте разбить выражение на различные подэкспрессии» < /em>: < /p>
У меня есть экран [b] swiftui [/b], который отображает данные в формате сетки, динамически определяя ячейки, чтобы они всегда заполняли доступную ширину, и убедиться, что они всегда являются квадратами.
У меня хорошо работает макет, но градиенты немного разочаровывают. При создании [b] RadialGradient [/b] вам необходимо указать [b] beginradius [/b] и [b] endradius [/b] в фактических точках экрана, а не на единичных точках (от 0,0 до 1,0). /p>
В приведенном выше примере я выбрал произвольный размер [b] 100 баллов [/b] для [b] endradius [/b]. Это работает просто отлично, но на самом деле придает квадратам другой вид, когда они разные размеры. Посмотрите два примера ниже. >
[b] Пример 2 - 2x3 Grid: [/b]
< /p>
Вот весь код в примере Project [b] contentView.swift < /strong>, который четко демонстрирует, что я имею в виду: < /p>
import SwiftUI
struct MyDataItem: Identifiable { let id: UUID = UUID() let text: String let isBlue: Bool }
struct MyDataRow: Identifiable { let id: UUID = UUID() let items: [MyDataItem] }
struct ContentView: View {
@State private var datasetIndex: Int = 0 @State private var sets = [ // First data set [ MyDataRow(items: [ MyDataItem(text: "A", isBlue: false), MyDataItem(text: "B", isBlue: true), MyDataItem(text: "C", isBlue: true), ]), MyDataRow(items: [ MyDataItem(text: "D", isBlue: false), MyDataItem(text: "E", isBlue: false), MyDataItem(text: "F", isBlue: false), ]), ],
Я хочу, чтобы радиалграграда < /strong> использует эндрадий, который соответствует высоте и ширине квадрата. < /p> < Br /> Я бы хотел, чтобы он мог сделать это автоматически. LinearGradient [/b], например, принимает [b] UnitPoint [/b] для [b] StartPoint [/b] и [b] Endpoint [/b], что было бы идеальным, но для [b] RadialGradient [/b] нам нужно выполнить всю работу, я думаю. /p>
Я пытался обернуть его так, рассчитывая endradius < /strong> с помощью geometryReader < /strong>. Этот терпит неудачу, потому что «Компилятор не может проверить это выражение в разумное время; попробуйте разбить выражение на различные подэкспрессии» < /em>: < /p>
Работаю над проектом SwiftUI, где мне нужен синий прямоугольник, чтобы отрегулировать его ** ширину** в зависимости от количества содержащихся в нем строк текста, в частности, не динамически, а на основе фиксированного количества строк (например, 2...
Недавно я завершил учебное пособие «Создание профессионального веб -сайта» Codecademy. Мой код хорошо смотрится на CodeAcademy и проходит все их тесты. Когда я сохраняю код на своем ноутбуке и открываю его в Firefox, обслуживая его из Localhost, три...
Недавно я завершил учебное пособие «Создание профессионального веб -сайта» Codecademy. Мой код хорошо смотрится на CodeAcademy и проходит все их тесты. Когда я сохраняю код на своем ноутбуке и открываю его в Firefox, обслуживая его из Localhost, три...
Мне любопытно, почему мой подход к проблеме внесения изменений не увенчался успехом. Мне эта логика понятна, поэтому я не уверен, в чем именно ошибка.
def count_change(denoms, denoms_length, amount):