当前位置: 首页 > news >正文

上海网络做网站公司seo顾问服务公司站长

上海网络做网站公司,seo顾问服务公司站长,怎么用wordpress建电商网站,东莞网站推广ViewController 的常用跳转及返回方法 ViewController 的常用跳转及返回方法模态跳转导航控制器选项卡控制器Storyboard 的 segues 方式跳转 ViewController 的常用跳转及返回方法 模态跳转 一个普通的视图控制器一般只有模态跳转的功能,这个方法是所有视图控制器…

ViewController 的常用跳转及返回方法

  • ViewController 的常用跳转及返回方法
    • 模态跳转
    • 导航控制器
    • 选项卡控制器
    • Storyboard 的 segues 方式跳转

ViewController 的常用跳转及返回方法

模态跳转

一个普通的视图控制器一般只有模态跳转的功能,这个方法是所有视图控制器对象都可以用的。

切换方法如下:

// 弹出,出现一个新视图,可以带动画效果,完成后可以做相应的执行函数经常为 nil
- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion
// 退出一个新视图,可以带动画效果,完成后可以做相应的执行函数经常为 nil
- (void)dismissViewControllerAnimated: completion:

利用模态视图进行多个页面跳转后,要返回最初始的页面则需要了解到控制器的两个属性 presentedViewController 和 presentingViewController,它们分别是被 present 的控制器和正在 presenting 的控制器。比如说, 控制器 A 和 B,有:

[A presentViewController:B animated:YES completion:nil];

那么 A 相对于 B 就是 presentingViewController,B 相对于 A 是 presentedViewController,即:

B.presentingViewController = A;
A.presentedViewController = B;

假设利用模态跳转,依次前往 A-B-C-D,最后要从 D 返回到 A,返回过程如下:

- (void)dismissModalStack {UIViewController *vc = self.presentingViewController;while (vc.presentingViewController) {vc = vc.presentingViewController;}[vc dismissViewControllerAnimated:YES completion:NULL];
}

需要注意的是,默认他的实现过程是移除跳转之前的控制器的 view,并将新的控制器的 view 展示,但跳转之前的控制器并没有被释放,而是被强引用这的。

导航控制器

UINaviGationController 通常被我们称为导航栏,它是视图与视图之间联系沟通的桥梁。每个控制器对象都有一个 NavigationController 属性,NavigationController 的 view 的是由导航条、导航条控制的 view、和栈顶控制器的 view 组成的。

工作原理:通过栈的方式的来实现,NavigationController 展示永远就是栈顶的控制器的 view。当使用 push 方法的时候,就将需要跳转的控制器压入栈中,成为栈顶控制器;当使用 pop 方法的时候,就将控制器移出栈,原来跳转之前的控制器重新成为栈顶控制器,被展现。

导航控制器涉及到的类有:

  1. UINavigationBar:导航栏,继承至 UIView。导航栏位于屏幕的上方,管理整个 NavigationController 的 navigationItem,即类似 navigationcontroller 一样提供了一个栈来管理 item。
  2. UINavigationItem:继承至 NSObject,可以通过这个属性来设置 title、prompt、leftBarButtonItem、titleView、rightBarButtonItem、backBarButonItem等。
  3. UIBarButtonItem:继承至 UIBarItem,UIBarItem 继承至 UIButton。这是专门用来放在 UIToolbar 或者 UINavigationBar 的特殊按钮。

切换方法如下:

// 跳转到指定的界面
[self.navigationController pushViewController:viewController animated:YES];
// 弹出当前显示的界面,返回到上个界面
[self.navigationController popViewControllerAnimated:YES];
// 返回到根视图控制器
[self.navigationController popToRootViewControllerAnimated:YES]; 
// 弹出到指定视图控制器
UIViewController *viewController = nil;
for (UIViewController *tempVc in self.navigationController.viewControllers) {if ([tempVc isKindOfClass:[UIViewController class]]) {viewController = tempVc;}
}
[self.navigationController popToViewController:viewController animated:YES];

选项卡控制器

UITabBarController 一般作为 app 的根界面的视图控制器。其实与其说 UITabBarController 的界面跳转,不如说是界面切换,因为 UITabBarController 的界面跳转其实就是 UITabBarController 的 viewControllers 数组中的几个界面切换。只要设置好了 UITabBarController 的 viewControllers 数组就可以了。

TabBar 的结构:

截屏2024-06-19 20.53.31

通过调用 UITabBarController 的 addChildViewController 方法添加子控制器:

UITabBarController *tabbarVC = [[UITabBarController alloc] init];OneViewController *oneVC = [[OneViewController] init];
oneVC.tabBarItem.title = @"one";
oneVC.tabBarItem.image = [UIImage imageNamed: @"one.png"];TwoViewController *twoVC = [[TwoViewController] init];
twoVC.tabBarItem.title = @"two";
twoVC.tabBarItem.image = [UIImage imageNamed: @"two.png"];// 添加子控制器(这些子控制器会自动添加到 UITabBarController 的 viewControllers 数组中)
[tabbarVC addChildViewController:oneVC];
[tabbarVC addChildViewController:twoVC];

Storyboard 的 segues 方式跳转

此方法仅适用于 Storyboard 中各个页面连线后的跳转,Storyboard上每一根用来界面跳转的线,都是一个 UIStoryboardSegue 对象(简称 Segue)。

鼠标点击一个页面,按住 control 键拖拽到另一个页面,在弹出的 segue 页面中选择跳转模式即可,连线完之后选中连线,在 Identifier 填上对应的标示。

  • 如果连线的方式是 push,则 ViewController 需要由 UINavigationController 来管理,返回方式则和 UINavigationController 一样。
  • 如果连线的方式是 model,则 ViewController 不需要由 UINavigationController 来管理,返回方式和模态的返回方式一样。
  • 如果连线的方式是 custom,则需要自定义 segue。
截屏2024-06-19 21.01.43

然后再在需要跳转的地方实现如下代码即可完成跳转:

[self performSegueWithIdentifier:@"test" sender:self];

通过 dismissViewControllerAnimated: 方法可以返回前一个界面。

http://www.yidumall.com/news/107335.html

相关文章:

  • 学校网站管理方案百度快速收录权限
  • 海天建设集团有限公司网站google关键词搜索技巧
  • 网站建设 自适应营销型网站建设专家
  • 网站建设需要找工信部吗建设营销网站
  • 网站备案证书在哪里下载360地图怎么添加商户
  • 网站建设案例效果仿站定制模板建站
  • 网站接入激励视频广告西安建站推广
  • 网站备案和空间备案山东省住房和城乡建设厅
  • 怎么用网站卖自己做天津百度推广电话号码
  • blog建设网站seo关键词查询
  • 足球反波胆网站开发西安专业网络推广平台
  • php做网站界面代码重庆seo外包平台
  • 自己做网站很难人民日报新闻
  • 国外哪些网站做产品推广比较好免费网站申请域名
  • 帮人注册网站_做app免费b2b网站大全免费
  • 常州建设工程电子审图网站购物网站推广方案
  • 微信网站名经典软文范例大全
  • 苏州大学网站建设目标什么是网络营销战略
  • 莞城网站仿做市场调研报告范文2000
  • 做网站可以挣多少钱问卷调查网站
  • 正规代加工项目招商西安网站seo排名优化
  • 网站建设软件开发工作室整站模板网络销售是什么
  • b2c网站策划网络推广是诈骗吗
  • 银川网站建设哪家好近期时事新闻10条
  • 手机端网站怎么做排名靠前搜索引擎营销简称seo
  • 建站平台 做网站游戏推广拉人渠道
  • 两学一做知识竞赛网站销售新人怎么找客户
  • 如何办宽带需要优化的网站有哪些
  • 网络营销推广公司名称北京seo外包
  • 深圳模具外贸网站建设谷歌下载官方正版