028通过列表实现不同界面之间的跳转

效果如下:

ViewController.h

1 #import <UIKit/UIKit.h>
2
3 @interface ViewController : UIViewController
4 @end

ViewController.m

 1 #import "ViewController.h"
 2
 3 @interface ViewController ()
 4 @end
 5
 6 @implementation ViewController
 7
 8 - (id)init {
 9     if (self = [super init]) {
10         //self.title = @"Hello";
11         self.navigationItem.title = @"Hello";
12     }
13     return self;
14 }
15
16 - (void)viewDidLoad {
17     [super viewDidLoad];
18
19     UILabel* lblMessage = [[UILabel alloc] initWithFrame:self.view.bounds];
20     lblMessage.text = @"Hello, world!";
21     lblMessage.textAlignment = NSTextAlignmentCenter;
22     lblMessage.textColor = [UIColor blackColor];
23     lblMessage.backgroundColor = [UIColor whiteColor];
24     lblMessage.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
25     [self.view addSubview:lblMessage];
26 }
27
28 - (void)didReceiveMemoryWarning {
29     [super didReceiveMemoryWarning];
30     // Dispose of any resources that can be recreated.
31 }
32
33 @end

ViewController2.h

1 #import <UIKit/UIKit.h>
2
3 @interface ViewController2 : UIViewController
4 @end

ViewController2.m

 1 #import "ViewController2.h"
 2
 3 @interface ViewController2 ()
 4 @end
 5
 6 @implementation ViewController2
 7
 8 - (id)init {
 9     if (self = [super init]) {
10         //self.title = @"您好";
11         self.navigationItem.title = @"您好";
12     }
13     return self;
14 }
15
16 - (void)viewDidLoad {
17     [super viewDidLoad];
18
19     UILabel* lblMessage = [[UILabel alloc] initWithFrame:self.view.bounds];
20     lblMessage.text = @"您好,世界!";
21     lblMessage.textAlignment = NSTextAlignmentCenter;
22     lblMessage.textColor = [UIColor whiteColor];
23     lblMessage.backgroundColor = [UIColor blackColor];
24     lblMessage.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
25     [self.view addSubview:lblMessage];
26 }
27
28 - (void)didReceiveMemoryWarning {
29     [super didReceiveMemoryWarning];
30     // Dispose of any resources that can be recreated.
31 }
32
33 @end

TopMenuController.h

1 #import <UIKit/UIKit.h>
2
3 @interface TopMenuController : UITableViewController
4 @property (nonatomic, strong) NSMutableArray* mArrItem;
5
6 @end

TopMenuController.m

 1 #import "TopMenuController.h"
 2
 3 @implementation TopMenuController
 4 - (id)init {
 5   if (self = [super initWithStyle:UITableViewStylePlain]) {
 6     self.title = @"主菜单";
 7     // 初始化显示用的数组
 8     _mArrItem = [[NSMutableArray alloc] initWithObjects:@"ViewController", @"ViewController2", nil];
 9   }
10   return self;
11 }
12
13 #pragma mark ----- UITableViewDataSource Methods -----
14 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
15   return [_mArrItem count];
16 }
17
18 - (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
19   UITableViewCell *cell = [[UITableViewCell alloc] initWithFrame:CGRectZero];
20   cell.textLabel.text = [_mArrItem objectAtIndex:indexPath.row];
21   return cell;
22 }
23
24 #pragma mark ----- UITableViewDelegate Methods -----
25 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
26   Class class = NSClassFromString([_mArrItem objectAtIndex:indexPath.row]);
27   id viewController = [[class alloc] init];
28   if (viewController) {
29     [self.navigationController pushViewController:viewController animated:YES];
30   }
31 }
32
33 @end

AppDelegate.h

1 #import <UIKit/UIKit.h>
2
3 @interface AppDelegate : UIResponder <UIApplicationDelegate>
4 @property (strong, nonatomic) UIWindow *window;
5 @property (strong, nonatomic) UINavigationController *navigationController;
6
7 @end

AppDelegate.m

 1 #import "AppDelegate.h"
 2 #import "TopMenuController.h"
 3
 4 @interface AppDelegate ()
 5 @end
 6
 7 @implementation AppDelegate
 8
 9 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
10     TopMenuController *topMenuController = [[TopMenuController alloc] init];
11     _navigationController = [[UINavigationController alloc] initWithRootViewController:topMenuController];
12
13     _window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
14     _window.rootViewController = topMenuController;
15     [_window addSubview:_navigationController.view];
16     [_window makeKeyAndVisible];
17     return YES;
18 }
19
20 - (void)applicationWillResignActive:(UIApplication *)application {
21 }
22
23 - (void)applicationDidEnterBackground:(UIApplication *)application {
24 }
25
26 - (void)applicationWillEnterForeground:(UIApplication *)application {
27 }
28
29 - (void)applicationDidBecomeActive:(UIApplication *)application {
30 }
31
32 - (void)applicationWillTerminate:(UIApplication *)application {
33 }
34
35 @end
时间: 2024-10-07 14:22:00

028通过列表实现不同界面之间的跳转的相关文章

[知了堂学习笔记]_用JS制作《飞机大作战》游戏_第2讲(四大界面之间的跳转与玩家飞机的移动)

一.通过点击按钮事件,实现四大界面之间的跳转: (一)跳转的思路: 1.打开软件,只显示登录界面(隐藏游戏界面.暂停界面.玩家死亡界面) 2.点击微信登录(QQ登录)跳转到游戏界面,隐藏登录界面 3.点击暂停,弹出具有透明度的暂停界面 4.点击暂停界面的开始按钮,隐藏暂停界面,调用开始方法(点击登录跳转的方法): 5.点击暂停界面的退出游戏,只显示登录界面,隐藏其他界面: 6.游戏结束界面,该界面的跳转目前还不能通过游戏实现,可以先建设(根据上一讲的游戏界面图片制作). 7.点击游戏结束界面的开

029通过UITabBarController选项卡实现不同界面之间的跳转

效果如下: ViewController.h 1 #import <UIKit/UIKit.h> 2 3 @interface ViewController : UIViewController 4 @end ViewController.m 1 #import "ViewController.h" 2 3 @interface ViewController () 4 @end 5 6 @implementation ViewController 7 8 - (id)ini

android XML动画初步解析(activity界面之间跳转demo)

上一篇文章android 简单地设置Activity界面的跳转动画讲了简单的activity界面之间的跳转,并且使用的是android内置的一些动画,此章就小提一下如何自己写一些动画来进行跳转. 按例,还是上一下效果:(结尾附上源码)     要自己写动画,首先要对动画的一些属性有一定了解: interpolator:被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等. an

使用自定义 URL 实现控制器之间的跳转-b

一个app往往有很多界面,而界面之间的跳转也就是对应控制器的跳转,控制器的跳转一般有两种情况 push 或者 modal,push 和 modal 的默认效果是系统提供的 文章配图 1. 概述 系统提供的push和modal方法有时并不能满足实际需求.比如,我们需要根据服务器返回的字段跳到指定的控制器,难道作判断吗?那显然不是最佳解决方案. 其实我们可以这样: NSString *urlStr = @"dariel://twoitem?name=dariel&userid=213213&

android界面之间数据的传递

不同界面之间,数据的传递是很常用的一个操作,这种数据的携带也是很简单的. 效果: 跳转后: 这个例子很简单,但是我们把第一个界面输入的姓名张三顺利传递到了第二个界面 附代码如下: 主界面: 1 package com.yy.activity.value; 2 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.os.Bundle; 6 import android.text.TextUt

ionic新手教程第七课-简要说明几种界面之间的參数传递及优缺点

截至2016年4月13日19点32分,我公布的ionic新手教程,已经公布6课了, 总訪问量将近6000,平均每节课能有1000的訪问量.当中訪客最多的是第三课有2700的訪客. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > 事实上我開始的时候计划的挺好的,就依照我这阶段的安排,慢慢的带大家做一个

iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)

使用Block的地方很多,其中传值只是其中的一小部分,下面介绍Block在两个界面之间的传值: 先说一下思想: 首先,创建两个视图控制器,在第一个视图控制器中创建一个UILabel和一个UIButton,其中UILabel是为了显示第二个视图控制器传过来的字符串,UIButton是为了push到第二个界面. 第二个界面的只有一个UITextField,是为了输入文字,当输入文字,并且返回第一个界面的时候,当第二个视图将要消失的时候,就将第二个界面上TextFiled中的文字传给第一个界面,并且显

android脚步---不同界面之间切换

对于一个app,可能需要多个界面,使用Button或者其他控件在不同界面之间切换,那么如何做到呢 首先必须明确,一般一个activity.java文件一般只对应一个界面即一个layout.xml文件,还有可能是在一个界面上再引入一个半屏或者全屏,这样需要用到一些手段,例子在下面放出来. 通常需要新建一个java文件,然后进行处理,新建java文件过程如下:New-class- 输入Name,选择继承的类,一般都是选择最通用的安卓原生的activity类,finish之后得到一个新的java文件,

iOS 界面之间翻转的简单运用及实现

哈喽,大家好!过了1年半的时间我又重新从事iOS咯,今天复习了一段内容    作为学习,记下笔录. 今天给两个界面之间添加了一个简单的动画效果,就是翻转效果: 在没有navigationController的情况下,是不能通过push方法进入界面的   如果是为了实现这个方法而特意设置一个navigationController又显得繁杂,所以就看了下present方法,结果还是有方法能实现   而且很简单: ZhuCeViewController *zhu = [[ZhuCeViewContr