Skip to content

Instantly share code, notes, and snippets.

View benigumocom's full-sized avatar
🏠
🙆

chanzmao benigumocom

🏠
🙆
View GitHub Profile
@benigumocom
benigumocom / SnapList.swift
Last active April 24, 2024 06:03
【SwiftUI】ScrollView や List を snap する 👉 https://android.benigumo.com/20240424/snap-list/
import SwiftUI
struct SnapList: View {
private let colors: [Color] = [
.white, .black, .red, .blue, .yellow, .green
]
var body: some View {
ScrollView {
LazyVStack(spacing: 0) {
@benigumocom
benigumocom / TestShadow.swift
Last active April 23, 2024 21:05
【SwiftUI】shadow() with compositingGroup() 👉 https://android.benigumo.com/20240424/shadow-effect/
import SwiftUI
struct TestShadow: View {
var body: some View {
VStack {
Text("こちらへ")
Text("▶")
}
.padding()
.background(.yellow)
import SwiftUI
struct TestContainerShape: View {
var body: some View {
VStack {
Text("🐶 Dog")
.padding()
.background(.yellow)
.clipShape(.rect(cornerRadius: 24)) // *
import SwiftUI
struct TestSearchTextField: View {
@Binding var text: String
@FocusState private var focused: Bool
var body: some View {
VStack {
HStack(spacing: 0){
@benigumocom
benigumocom / TestClickEvent.swift
Last active April 11, 2024 12:49
【SwiftUI】View の overlay は タップイベント を透過できるのか 👉 https://android.benigumo.com/20240411/overlay-event/
import SwiftUI
struct TestClickEvent: View {
var body: some View {
VStack {
Button("default") {
print("clicked.") // OK
}
@benigumocom
benigumocom / TestDataFlow.swift
Last active April 8, 2024 08:50
【SwiftUI】@State と 単方向データフロー 👉 https://android.benigumo.com/20240407/binding-1/
import SwiftUI
struct TestDataFlow: View {
@State var text = ""
@State var isOn = false
var stateHolder = StateHolder()
var body: some View {
@benigumocom
benigumocom / SMAppServiceExt.swift
Last active April 6, 2024 10:13
【Swift】ログイン時に起動する - SMAppService 👉 https://android.benigumo.com/20240406/smappservice/
import SwiftUI
import ServiceManagement
// view
Toggle(
"Launch at login",
isOn: Binding(
get: { SMAppService.mainApp.isEnabled },
set: { _ in SMAppService.mainApp.toggle() }
)
@benigumocom
benigumocom / GitHub-Contribution-Graph.swift
Last active April 2, 2024 03:15
【SwiftUI】 スクレイピングで GitHub Contribution Graph をつくる 👉 https://android.benigumo.com/20240402/github-contributions/
import SwiftUI
struct Graph: View {
@State var cells: [Cell] = []
private let colors: [Color] = [.clear, .level0, .level1, .level2, .level3, .level4]
var body: some View {
Grid(horizontalSpacing: 2, verticalSpacing: 2) {
ForEach(0 ..< 7, id: \.self) { row in
@benigumocom
benigumocom / TestTaskID.swift
Last active March 26, 2024 13:38
【SwiftUI】task の id を使って処理を何度も繰り返す 👉 https://android.benigumo.com/20240326/task-id/
import SwiftUI
struct TestTaskID: View {
@State private var text = ""
@State private var taskID = UUID()
var body: some View {
Text("\(text)")
.task(id: taskID) { // *
let url = URL(string: "https://worldtimeapi.org/api/timezone/Asia/Tokyo.txt")!
import SwiftUI
struct TestView: View {
@State var id = false
var body: some View {
AutoProgressView()
.padding()
.id(id)