Skip to content

Instantly share code, notes, and snippets.

View benigumocom's full-sized avatar
🏠
🙆

chanzmao benigumocom

🏠
🙆
View GitHub Profile
@benigumocom
benigumocom / DraaggableList.swift
Last active September 12, 2024 10:58
【SwiftUI】Create Draggable Reorder ListView without List 👉 https://android.benigumo.com/20240912/create-draggable-reorder-list-view/
import SwiftUI
struct Fruit: Identifiable, Equatable {
let id = UUID()
let name: String
let color: Color
}
struct DraggableList: View {
@State private var fruits: [Fruit] = [
@benigumocom
benigumocom / SpeechBubble.swift
Last active August 27, 2024 14:10
【SwiftUI】Create Animated Speech Bubble 👉 https://android.benigumo.com/20240827/speech-bubble/
import SwiftUI
struct SpeechBubble: View {
var count: Int
var body: some View {
HStack(spacing: 0) {
Rectangle()
.fill(.red)
.rotationEffect(.degrees(45))
@benigumocom
benigumocom / AnimatedStateButton.swift
Last active August 25, 2024 16:31
【SwiftUI】State 付きボタンのアニメーション記述 👉 https://android.benigumo.com/20240826/state-button/
import SwiftUI
struct AnimatedStateButton: View {
@State private var show1 = false
@State private var show2 = false
@State private var show3 = false
@State private var show4 = false
@State private var show5 = false
@State private var show6 = false
@benigumocom
benigumocom / AnimatedMessage.swift
Last active August 23, 2024 02:31
【SwiftUI】Apple 公式サンプルで Animation と Transition はどのように使われているか 👉 https://android.benigumo.com/20240822/swiftui-animation-transition/
import SwiftUI
// 【SwiftUI】アニメーションの書き方
// https://zenn.dev/maochanz/articles/b3f2b0dcf949c5
//【SwiftUI】トランジションの書き方
// https://zenn.dev/maochanz/articles/0bcd4bfaa43a0d
struct AnimatedMessage: View {
var text: String
import SwiftUI
struct TestTransition: View {
@State private var active = false
var body: some View {
VStack {
if active {
Image(systemName: "face.smiling")
.font(.system(size: 100))
import SwiftUI
struct TextAnimationView: View {
@State private var scale = false
@State private var rotation = false
@State private var opacity = false
@State private var offset = false
var body: some View {
VStack {
@benigumocom
benigumocom / PreviewOneModelView.swift
Last active July 27, 2024 04:03
【SwiftUI + SwiftData】List のアイテムの Preview 👉 https://android.benigumo.com/20240725/preview-one-item/
import SwiftUI
import SwiftData
struct PreviewOneModelView<Model: PersistentModel, Content: View>: View {
var content: (Model) -> Content
@Query private var models: [Model]
var body: some View {
content(models.first!)
}
@benigumocom
benigumocom / TextField.swift
Last active July 23, 2024 09:26
【SwiftUI】TextField サンプルコード 👉 https://android.benigumo.com/20240723/swiftui-textfield/
import SwiftUI
// 【SwiftUI】TextField の角を丸くして背景色を付けるもっとも簡単な方法は
// https://android.benigumo.com/20240507/rounded-text-field/
struct TestTextField: View {
@State private var text = ""
// style
// background
@benigumocom
benigumocom / BackgroundModelActor.swift
Last active July 17, 2024 13:37
【SwiftData】バックグラウンドで @Modelactor を singleton で使う 👉 https://android.benigumo.com/20240717/background-modelactor/
import SwiftUI
import SwiftData
// https://forums.developer.apple.com/forums/thread/736226
struct TestModelActorView: View {
@Environment(\.modelContext) private var modelContext
// private var dataSource: DataSource {
@benigumocom
benigumocom / LocalData.swift
Last active July 12, 2024 05:54
【Swift】Apple 公式サンプル にみる @Modelactor を singleton にして ViewModifier にすると便利 👉 https://android.benigumo.com/20240711/modelactor-singleton/
import SwiftUI
import SwiftData
@ModelActor
actor LocalData {
nonisolated(unsafe) private(set) static var shared: LocalData! // *
private var task: Task<Void, Never>?
static func createInstance(modelContainer: ModelContainer) { // *