1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/TheAlgorithms-SwiftUI

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

DragGesture

  • MagnificationGesture
  • RotationGesture

Combined Gestures

  • SequenceGesture
  • SimultaneousGesture
  • ExclusiveGesture

Custom Gestures

  • AnyGesture

Basic View

Text

Используется для отображения одной или нескольких строк текстового содержимого с тем же эффектом, что и UILabel, но даже лучше.

Если вы хотите создать Text, просто создайте его с помощью Text("SwiftUI"); С помощью цепочечного синтаксиса вы также можете добавить к тексту несколько атрибутов, таких как шрифты, цвета, тени, расстояние между верхним левым и правым краями и так далее.

Пример:


Text("SwiftUI")
    .foregroundColor(.orange)
    .bold()
    .font(.system(.largeTitle))
    .fontWeight(.medium)
    .italic()
    .shadow(color: .black, radius: 1, x: 0, y: 2)

View running results

HStack и VStack используются для размещения нескольких представлений, как будет упомянуто позже.

TextField

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

Пример:


TextField(self.$name, placeholder: self.nameText, onEditingChanged: { changed in
    print("onEditing: \(changed)")
}) {
    print("userName: \(self.name)")
    self.endEditing(true)
}}
.padding(10)
.frame(height: 50)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding(EdgeInsets(top: 0, leading: 20, bottom: 0, trailing: 20))

SecureField

Обычно используется в качестве поля пароля. Используется так же, как TextField. Пример и эффект выполнения такие же, как у TextField.

Image

Элемент управления Image используется для отображения изображений, пример:


Image("icon")
    .resizable()
    .frame(width: 100,
           height: 100,
           alignment: .center)

WebImage

webImage используется для загрузки веб-изображения, используйте URLSession для загрузки исходного изображения после успешной загрузки; вы также можете использовать Kingfisher в функции downloadWebImage.

Пример:


var body: some View {
        Image(uiImage: self.uiImage ?? placeholderImage)
            .resizable()
            .onAppear(perform: downloadWebImage)
            .frame(width: 80,
                   height: 80,
                   alignment: .center)
            .onTapGesture {
                print("Tap ")
        }
    }

Button

Используется для реагирования на события нажатия.

Пример:


Button(action: {
    print("Tap")
}) {
   Text("I'm a Button")
}

``` **Текст запроса определён как язык Swift.**

**Перевод текста на русский язык:**

🔝

<h4 id="PresentationButton" style='color:red'> PresentationButton устарела</h4>

`PresentationButton` ~~используется для всплывающего окна страницы.~~ устарела, пожалуйста, используйте `NavigationLink`.

🔝

<h4 id="EditButton"> EditButton </h4>

`EditButton` используется для запуска состояния редактирования, просто используйте настройку `navigationBarItems` при его использовании.

Пример:

```swift

navigationBarItems(trailing: EditButton())
Просмотр результатов выполнения

🔝

PasteButton

Ожидается релиз.

🔝

Picker

Picker может настроить селектор источника данных.

Пример:


Picker(selection: $leftIndex, label: Text("Picker")) {
    ForEach(0..<leftSource.count) {
        Text(self.leftSource[$0]).tag($0)
    }
    }.frame(width: UIScreen.main.bounds.width/2)
Просмотр результатов выполнения

🔝

DatePicker

DatePicker используется для выбора абсолютной даты элемента управления.

Пример:


DatePicker(selection: $server.date, 
in: server.spaceDate, 
displayedComponents: .date, label: {
    Text("")
})
Просмотр результатов выполнения

🔝

Toggle

Toggle используется для переключения выбранного состояния, например:


Toggle(isOn: $isOn) {
    Text("Состояние: \(self.isOn == true ? "Открыто":"открыто")")
}.padding(20)
Просмотр результатов выполнения

🔝

Slider

Slider — это элемент управления для выбора значений из конечного диапазона значений, пример:


Slider(value: $data.rating)
Просмотр результатов выполнения

🔝

Stepper

Stepper используется для увеличения или уменьшения значения, пример:


Stepper(value: $value, step: 2, onEditingChanged: { c in
    print(c)
}) {
    Text("Значение Stepper: \(self.value)")
    }.padding(50)
Просмотр результатов выполнения

🔝

SegmentedControl устарела

SegmentedControl используется для выбора условия сегментации, пример:


SegmentedControl(selection: $currentIndex) {
    ForEach(0..<items.count) { index in
        Text(self.items[index]).tag(index)
    }
    }.tapAction {
        print("currentIndex: \(self.currentIndex)")
}
Просмотр результатов выполнения

🔝

WebView

WebView используется для отображения открытой веб-страницы, пример:


struct WebViewPage : UIViewRepresentable {
    func makeUIView(context: Context) -> WKWebView  {
        return WKWebView()
    }
    func updateUIView(_ uiView: WKWebView, context: Context) {
        let req = URLRequest(url: URL(string: "https://www.apple.com")!)
        uiView.load(req)
    }
}
Просмотр результатов выполнения

🔝

UIViewController

UIViewController используется для отображения UIViewController, который открывает UIKit в SwiftUI и открывает представление SwiftUI в UIViewController.

Пример:

Сначала определите:


struct ControllerPage<T: UIViewController> : UIViewControllerRepresentable {
    
    typealias UIViewControllerType = UIViewController
    
    func makeUIViewController(context: Свифтуи выпущен под [лицензией MIT](LICENSE). Подробности см. в файле LICENSE.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Некоторые официальные примеры SwiftUI, надеемся, они помогут вам понять и изучить этот новый фреймворк для вёрстки. Расширить Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/TheAlgorithms-SwiftUI.git
git@gitlife.ru:oschina-mirror/TheAlgorithms-SwiftUI.git
oschina-mirror
TheAlgorithms-SwiftUI
TheAlgorithms-SwiftUI
master