import SwiftUI
struct ContentView: View {
var emojis = ["❤️", "🧡", "💙", "🖤","💚","💛","💜","🤎","💔","💗","💘","💝","💖","💓","💕"]
@State var emojiCount = 6
var body: some View {
VStack {
ScrollView {
LazyVGrid(columns: [GridItem(.adaptive(minimum: 65))]) {
ForEach(emojis[0..<emojiCount], id: \.self) { emoji in
CardView(content: emoji)}
.aspectRatio(2/3, contentMode: .fit)
}
}
.foregroundColor(.red)
Spacer()
HStack {
add
Spacer()
remove
}
.font(.largeTitle)
}
.padding()
}
var remove: some View {
Button {
if emojiCount > 1 {
emojiCount -= 1
}
} label: {
Image(systemName: "minus.circle")
}
}
var add: some View {
Button {
if emojiCount < emojis.count {
emojiCount += 1
}
} label: {
Image(systemName: "plus.circle")
}
}
}
struct CardView: View {
var content: String
@State var isFaceUp: Bool = true
var body: some View {
ZStack {
let shape = RoundedRectangle(cornerRadius: 20)
if isFaceUp {
shape.fill().foregroundColor(.white)
shape.strokeBorder(lineWidth: 4)
Text(content).font(.largeTitle)
} else {
shape.fill()
}
}
.onTapGesture {
isFaceUp.toggle()
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
.preferredColorScheme(.dark)
ContentView()
.preferredColorScheme(.light)
}
}
2022-03-19 第二课完整代码
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 自从发完第一堂课后,好多同学都在催更,都已经想迫不及待地写代码了图片。 不用着急,这节课一定教大家写代码,但...
- 开课之前,班长红叶猫猫将课程链接第二课:故事的三幕式结构,一个完整的故事需要怎样安排发到微信群里,供同学们预习。 ...
- 随着来自社会的各项压力增加,各种家庭教育问题也逐渐暴露,比如: 》》留守儿童日益增多,亲子关系不和谐,儿童叛逆严重...
- 第二课 什么是[女性能量] 导读:一个真正性感的女人,是一个能够容纳、接受、不会否认或切掉自己任何女性特质的女人。...