任务2名称:
猜国旗
任务要求:
1. 编写出完整的,可运行的iOS端App。
2. 需要提交源代码和项目源文件。
3. 无需联网运行,请独立完成。
任务描述:
1、你需要构建一个可以根据国家名称选择所对应的国旗并判断对错的应用程序:判断结果正确与
否需要出现文字提示。
2、请各位同学按照学习路线自主学习组内书籍《Swift UI和combine》《
iOS应用开发从入门到
精通》中的Swift UI和UIKit相关知识,并继续完善寒假的仿做抖音项目。
3、大家可以参考视频内容学习Swift UI。
https://www.bilibili.com/video/BV1rf4y1r7pN/?spm_id_from=333.999.0.0&vd_source=6f04
6f6f7099cdd8eb117c10b506d37a(主要学习方式,按住command键再点击即可跳转到相应网站)
https://www.bilibili.com/video/BV1T54y1i73A?p=1&vd_source=6f046f6f7099cdd8eb117c10
b506d37a
学习记录:
1.图片资料存储时注意图片格式——需要统一
2.代码
数组的添加
@State var countries = ["白俄罗斯 Belarus","保加利亚 Bulgaria","韩国 South Korea","朝鲜 Korea","菲律宾 Philippines","柬埔寨 Cambodia","马尔代夫 Maldivespng","老挝 Laos","美国 US","尼泊尔 Nepal","越南 Vietnam","中非 Central African","中国 China"].shuffled()
.shuffled()——使数组内数据随机变换出现
@State 需要屏幕监视
@State var correctAnswer = Int.random(in: 0...2)
随机出现三个随机数(Int 整形函数,random随机数,in0...2 随机数3个)选择一个做正确项
VStack——上下排列
HStack——左右排列
Zstack——空间上上下的概念(前后)
ForEach()——循环
Button(action:{})——三个按钮
背景颜色调节(可以渐变色)
LinearGradient(gradient: Gradient(colors:[Color.black,Color.blue]),
startPoint: .top, endPoint: .bottom)
.edgesIgnoringSafeArea(.all)
(.edgesIgnoringSafeArea(.all)——占满屏幕)
调节Text的内容(文字字体,大小,颜色等)——按住command点击文字——选择Show SwiftUI Inspector
弹窗
.alert(isPresented: $showingScore){
Alert(title: Text(Title),message: Text("你的分数是\(Score)"), dismissButton: .default(Text("继续")){
countries.shuffled()
self.correctAnswer = Int.random(in: 0...2)
需要判定所选是否正确——需要一个函数
@State var showingScore = false
@State var Title = ""
@State var Score = 0
func show(number :Int){
if (number==correctAnswer){
Title = "正确!"
Score+=1
}else{
Title = "错误~"
if(Score>0){
Score-=1
}
}
showingScore = true
dismissButton:——弹窗消失