uni-app项目中的页面跳转方式

uni-app项目中的页面跳转方式,第1张

官方详情介绍
uni-app的页面跳转只能跳转本地页面,且目标页面必须在pagesjson中注册。跳转方式与小程序/vue的极为相似,只是方法和标签有所不同,分为 和 两种。

类似Vue的 <router-link> 标签

类似Vue routerpush({ path: 'xxx' }) 方法,uni-app提供了6钟不同的跳转方式,以 unixxx 方式调用。
官网详情

保留 当前页面,跳转到应用内的某个页面,可使用 uninavigateBack 返回到原页面
object参数说明(其他跳转方式的参数与之大同小异):

接收数据(其他跳转方式的接收参数方法与之相同):

关闭 当前页面,跳转到应用内的某个页面 ,可理解为重定向页面

关闭所有 页面,跳转到应用内的某个页面
注意: 如果调用了 unipreloadPage(OBJECT) 不会关闭,仅触发生命周期 onHide

跳转到tabBar页面,并 关闭所有非tabBar 页面
注意: 如果调用了 unipreloadPage(OBJECT) 不会关闭,仅触发生命周期 onHide

返回上一页面/多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层

预加载页面,是一种性能优化技术。被预载的页面,在打开时速度更快。
平台差异说明:

H5 平台:
预加载 /pages/test/test 对应的js文件,不执行页面预渲染逻辑

App-nvue 平台:
预加载nvue页面 /pages/test/test

注意事项

eg

HBuilderX 2712+的hello uni-app,在navigator示例和uni ui的日历示例中增加了页面预载示例。

1导航类型UINavigationController 适用于父子页面的跳转UITabBarController 适用于平级页面的跳转 2presentViewController / dismissViewControllerAnimated和pushViewController / popViewController(1)只有从UINavigationController导航过来的UIViewController 才可以使用pushViewController / popViewController,从其它导航进入的只能使用presentViewController / dismissViewControllerAnimated(2)如果A界面是通过presentViewController进入的,那么在A界面里只能使用presentViewController导航,如果A界面是通过UINavigationController包装了一层进入,则可使用pushViewController导航。(3)如果A界面是一个UITabBarController,进入时是通过presentViewController来导航的,那么子Tab里也只能通过presentViewController来导航,如果进入时是通过UINavigationController包装了一层进入,则可使用[selftabBarControllernavigationController pushViewController:abcdViewController animated:true];这种方式导航。 3修改UINavigationController导航进入后导航栏的图标及文字UIBarButtonItem leftBar = [[UIBarButtonItem alloc]initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:self action:@selector(homeBack)];selfnavigationItemleftBarButtonItem = leftBar;//可添加多个导航按钮 // selfnavigationItemleftBarButtonItems = nil;//同样右边的导航按钮也可以设置 4创建UITabBarController时需注意,要先创建出来,然后通过UINavigationController包装后才能显示,否则tab子项不显示。创建格式如下Java代码 TabOneViewController oneVC = [[TabOneViewController alloc]init]; oneVCviewbackgroundColor = [UIColor whiteColor]; UITabBarItem item1 = [[UITabBarItem alloc]initWithTitle:@"tab1" image:nil tag:0]; oneVCtabBarItem = item1; TabTwoViewController twoVC = [[TabTwoViewController alloc]init]; UITabBarItem item2 = [[UITabBarItem alloc]initWithTitle:@"tab2" image:nil tag:1]; twoVCtabBarItem = item2; HomeViewController homeVC = [[HomeViewController alloc]init]; NSArray array = [[NSArray alloc]initWithObjects:oneVC,twoVC, nil]; homeVCviewControllers = array; UINavigationController navVC = [[UINavigationController alloc]initWithRootViewController:homeVC]; [self presentViewController:navVC animated:YES completion:^{}]; //下面这种创建了HomeViewController后,HomeViewController下的子Tab不能通过push或者pop导航 // HomeViewController homeVC = [[HomeViewController alloc]init]; // [self presentViewController:homeVC animated:YES completion:^{}]; 5UITabBarController各页面之间的切换实现UITabBarControllerDelegate协议//实现协议方法,用于切换Tab时,更改页面的标题-(void)tabBarController:(UITabBarController )tabBarController didSelectViewController:(UIViewController )viewController { NSInteger index = tabBarControllerselectedIndex; NSString title; switch (index) { case 0: title = @"Message"; break; case 1: title = @"User List"; break; } selftitleios uitabbarcontroller之间怎么跳转

UITabBarController 有个方法是 setSelectedIndex = 1;就可以了
你获取到UITabBarController 对象 调用这个方法就可以了

您好!很高兴能为您解答, 微信小程序 跳转页面
小程序页面有2种跳转,可以在wxml页面或者js中:
1,在wxml页面中:

1
2
3
<navigator url="/index/index">跳转到新页面</navigator>
<navigator url="/index/index" open-type="redirect">在当前页打开</navigator>
<navigator url="/index/index" open-type="switchTab">切换到首页Tab</navigator>
2,在js页面中:
注意此处注意两个关键词 “应用内的页面” 和 “tabBar页面”。 appjson文件中tabBar中注册过的tab页,即为“tabBar页面”,非tabBar中注册占用的页面即为“应用内的页面” 。 如下图:home页面为“应用内的页面”,index和logs页面则为 “tabBar页面”。

在iOS的程序中,Tab Bar的使用率很高,几个视图需要切换的时候,就用到tabbar。今天的程序实现的效果是这样的,底部有几个tab Item,对应的有几个视图,切换tab Item,切换到对应的视图。为了更好理解使用用tabbar和切换视图,我们创建一个Empty Application1、打开Xcode ,新建项目2、创建View Controller 在项目上按花键+N创建新文件,创建 Objective-C class 文件,按Next按钮,subClass 选UIViewController 。勾选上 xib选项以同样方式创建另外三个ViewController ,RedViewController ,GreyViewController,YellowViewController。四个View准备好了。那么Tabbar呢?3、创建TabBarControllerxib文件,选择创建Empty文件这时候你发现创建的xib文件是空白的,不用慌,去右下角控件栏中把TabBar Controller拖过来就Ok了。4、关联TabBarControllerxib ,tabbarAppDelegate这两个文件在上图中选择File’s Owner,打开Identity Inspector,在Class一栏选择tabbarAppDelegate这样,我们就可以创建TabBarControllerxib 文件指向tabbarAppDelegate 文件的Outlet映射了。5、在Xcode中的工具栏的View菜单找到 打开Assistant Editor,使tabbarAppDelegateh和TabBarControllerxib 同时打开。在xib文件上按住control键,往tabbarAppDelegateh,创建Outletd出窗口输入 rootController,点connect。6、添加代码打开tabbarAppDelegatem,在didFinishLaunchingWithOptions方法中添加代码:[cpp] view plaincopy- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions { selfwindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch [[NSBundle mainBundle] loadNibNamed:@"TabBarController" owner:self options:nil]; [selfwindow addSubview:selfrootControllerview]; selfwindowbackgroundColor = [UIColor whiteColor]; [selfwindow makeKeyAndVisible]; return YES; } 7、 往TabBarControllerxib上添加Tab Bar Item,把控件栏上的Tab Bar Item控件往TabBarControllerxib上拖拽即可,一个放4个。8、关联Tab Bar Item和ViewController。选择其中一个Tab Bar Item,在右上角打开Identity Inspector,在Class中选择BlueViewController:然后,打开Attribute,在NIB Name选择BlueViewController:其他3个tab item重复类似的 *** 作,选中对应的ViewController,这样在切换Tab标签时,就可以切换到对应的页面。9、设置tab item的属性选中其中一个tab item ,会在右上角的属性栏里看到如下信息Badge是红色圈圈里面有数字 ,表示有多少条信息的属性Identifier 是tab item的样式,选custom是自定义,下面的是系统的样式。我选了其中四种。bar ITem 的title image在custom的样式下能设置。10、剩下的3个Tab Item也做类似的设置即可。现在基本完工,运行看看结果如何。好吧,其实和第一第二个图是一样的,这里就不放了。11、在viewDidLoad方法加Log观察切换View可以加写日志看看对应的View是什么时候运行的。第一个运行的View是BlueViewController,点击其他的tab项时,加载其他的view,加载一次之后下次点击不再调用viewDidLoad。[cpp] view plaincopy- (void)viewDidLoad { [super viewDidLoad]; NSLog(@"BlueViewController"); // Do any additional setup after loading the view from its nib }Iphone编程,喜欢Tab bar controllerNav 起混合使用,点击Tab bar面按钮切换另view候,界面Tab Bar 没消失导致view部界面给遮挡所需要Tab Bar 给隐藏掉,隐藏代码:selfnewView = [[newViewController alloc] init];newViewhidesBottomBarWhenPushed=YES;[selfnavigationController presentModalViewController:newView animated:YES];建立新View候加入newViewhidesBottomBarWhenPushed=YES;即使Tab Bar消失掉


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13330486.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-16
下一篇 2023-07-16

发表评论

登录后才能评论

评论列表(0条)

保存