IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> swiftUI开发实现页面的跳转 -> 正文阅读

[移动开发]swiftUI开发实现页面的跳转

适配6sp ios13.3
使用
TabView点击实现跳转,
请自行删除掉注释部分和不需要的部分。

//
//  ContentView.swift
//  GraduationTestApp01
//
//  Created by Humphrey Norton on 2022/4/26.
//  Copyright ? 2022 Humphrey Norton. All rights reserved.
//

import SwiftUI
import RealityKit
import UIKit
import Combine
import Foundation


struct ContentView : View {
    
    
    
    
    @State private var selectedIndex = 0
    
    @State private var Title = "进行中"
    
    
    
    var body: some View {
        NavigationView{
            
            
            VStack(alignment: .leading, spacing: 0){
                
                
                
                
                
                
                userInformation
                
                
                classifyTopview
                //                Text("hello world! ")
                pageView
                
                Spacer()
            }//VStack
                .navigationBarTitle("界面01",displayMode: .inline)
            //            .navigationBarItems(leading: searchBar, trailing: postButton)
        }//NavigationView
            .onAppear{
                UINavigationBar.appearance().barTintColor = .white
        }
    }
    
    
    
    
    
}


//定义全局常量 设置Titles
private let Titles = ["全\t部","进行中","已完成"]


private var userMoney = 6.56


//ARViewContainer结构体加载三维模型
struct ARViewContainer: UIViewRepresentable {
    
    func makeUIView(context: Context) -> ARView {
        
        let arView = ARView(frame: .zero)
        
        // Load the "Box" scene from the "Experience" Reality File
        let boxAnchor = try! Experience.loadBox()
        
        //        parkinglot_s模型加载
        //    为什么未自动创建parkinglot_s的类?
        //        let boxAnchor = try! parkinglot_s.loadBox()
        
        
        // Add the box anchor to the scene
        arView.scene.anchors.append(boxAnchor)
        
        return arView
        
    }
    
    func updateUIView(_ uiView: ARView, context: Context) {}
}



//test3
//userinformation
extension ContentView{
    
    
    private  var userInformation : some View{
        
        //返回VStack,整合视图,以垂直方向排列显示;HStack水平方向排列显示;ZStack重叠排列显示;布局的显示
        
        
        
        HStack(alignment: .center){
            
            VStack(alignment: .center){
                Image(systemName: "person.crop.circle")
                    .font(Font.title.weight(.medium))
                    .accentColor(.white)
                    .padding(5)
                Text("余额:6.54元").padding(5)
                //添加边框线
                
                
            }//VStack
                .offset(x:30,y: 8)
            
            
            VStack(alignment: .leading){
                
                Text("昵称:8103018310").padding(5)
                
                
                Text("账号:678@c.com").padding(5)
                
                
            }//VStack
                .offset(x:40,y: 10)
            
            
            
        }//HStack
        
        
        
        
        
        
        
    }
    
}


//orderFormInformation
extension ContentView{
    
    private  var orderFormInformation : some View{
        
        HStack{
            
            Text("订单信息0")
        }
        
        
        
    }
    
}






//滑动改变订单界面效果 订单状态选项
extension ContentView{
    private  var classifyTopview : some View{
        
        VStack(alignment: .leading, spacing: 0){
            
            HStack{
                
                
                VStack(alignment: .leading, spacing: 0){
                    
                    
                    
                    HStack(spacing:0){
                        
                        //设置状态选项栏中显示的内容
                        ForEach(0..<Titles.count){
                            
                            index in
                            Text(Titles[index])
                                //设置显示字体
                                .fontWeight(self.selectedIndex == index ? .bold : nil)
                                .font(.subheadline)
                                //设置字体显示的颜色
                                .foregroundColor(self.selectedIndex == index ? .green : nil)
                                .frame(width:136,height: 36)
                                
                                //添加边框线
                                .overlay(
                                    RoundedRectangle(cornerRadius: 28.0/2, style: .continuous)
                                        .stroke(Color(.gray), lineWidth: 0.5)
                            )
                                
                                
                                .onTapGesture {
                                    self.selectedIndex = index
                                    print("当前在状态栏:\(self.selectedIndex)")}
                            
                        }
                        
                        
                        
                        
                    }
                    
                    //下划线的长宽高
                    HStack{
                        Capsule().fill(Color.blue)
                            .frame(width:30,height: 2)
                        
                    }.frame(width:136)
                        .offset(x:CGFloat(selectedIndex * 136))
                        .animation(.default)
                    
                }.padding(.leading,10)
                
                
                
                
                
            }.background(Color.white.opacity(0.5))
                .offset(x:-5)
            Divider()
            
            
            
            
        }.frame(height:64)
        
    }
    
    
    
}


//订单详情界面的设置 根据所选择的项目的不同 怼不同内容的显示
extension ContentView{
    private var pageView : some View{
        VStack{
        

            
            
            TabView(selection: $selectedIndex) {
                
                
                
                //在三个选项框内部的显示内容,后期可以改成循环数据库中的数据 显示出来 对用户的账号id 邮箱进行显示
                
                Text("第一栏页面").foregroundColor(.blue).tag(0)
                Text("第二栏页面").foregroundColor(.green).tag(1)
//                Text("第三栏页面").foregroundColor(.red).tag(2)
                Text("当前的$selectedIndex的值为 \(selectedIndex)").tag(2)


            }//TabView
                //将边界的TabView移出屏幕外
                .offset(y:60)
        










#if DEBUG
struct ContentView_Previews : PreviewProvider {
    static var previews: some View {
        ContentView().previewDevice("iPhone 6s Plus 13.3")
    }
}
#endif






  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 08:51:08  更:2022-04-30 08:52:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 23:28:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码