您的位置:首页 > 移动开发 > IOS开发

iOS导航页

2015-08-27 15:25 405 查看
iOS导航引导页相关代码如下:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];

TRRootViewController *rvc = [[TRRootViewController alloc] init];
self.window.rootViewController = rvc;

//通过系统的一个接口 拿到是不是第一次启动这个程序 如果是就调用导航页 如果不是 直接进入下一个视图
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if([userDefaults objectForKey:@"First"] == nil)
{
[userDefaults setBool:NO forKey:@"First"];
//显示导航页
NSLog(@"显示导航页");
rvc.isFirstLoad = YES;
}
else
{
NSLog(@"不是第一次启动 不再显示");
rvc.isFirstLoad = NO;
}
[self.window makeKeyAndVisible];
return YES;
}
#import "TRRootViewController.h"
#import "TRSubViewController.h"

#define SCROLL_W 320
#define SCROLL_H 568
#define MAX_NUM 4

@interface TRRootViewController ()<UIScrollViewDelegate>
@property(nonatomic ,strong)UIScrollView *scrollView;
@property(nonatomic ,strong)UILabel *titleLabel;
@property(nonatomic ,strong)TRSubViewController *svc;
@end

@implementation TRRootViewController

#pragma mark - 创建滚动视图
-(void)createUIScrollView
{
//实例化滚动视图
self.scrollView = [[UIScrollView alloc] init];
//位置和大小
self.scrollView.frame = CGRectMake(0, 0,
320, 568);
//设置滚动视图的滚动范围
self.scrollView.contentSize =CGSizeMake(SCROLL_W*MAX_NUM, SCROLL_H);
//设置是否开启分页显示
self.scrollView.pagingEnabled = YES;
//设置拖拽的弹簧效果
self.scrollView.bounces =NO;
//设置委托
self.scrollView.delegate = self;
//添加到父视图上
[self.view addSubview:self.scrollView];

//载入图片
for(int i = 0 ; i < MAX_NUM ; i++)
{
//UIImageView显示图片 jpg(压缩) png(无损)
UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"w%d.jpg",i+1]]];
//设置每一个imgView的frame
imgView.frame = CGRectMake(SCROLL_W*i , 0, SCROLL_W, SCROLL_H);
//把imgView添加到scrollView上
[self.scrollView addSubview:imgView];
//第一种 借助按钮跳转
UIButton *start = [UIButton buttonWithType:UIButtonTypeSystem];
start.frame = CGRectMake(0, 0, 200, 200);
start.center = CGPointMake(1120, 380);
start.backgroundColor = [UIColor redColor];
start.layer.cornerRadius = 100;
[start setTitle:@"进入程序" forState:UIControlStateNormal];
[start addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
//添加到滚动视图
[self.scrollView addSubview:start];
}
}

#pragma mark - 点击事件
-(void)btnClick:(UIButton *)btn
{
self.svc = [[TRSubViewController alloc] initWithNibName:@"TRSubViewController" bundle:nil];
[self presentViewController:self.svc animated:YES completion:nil];
}

#pragma mark - 引导页面
-(void)welcome
{
if(self.isFirstLoad)
{
//如果是第一次启动 调用引导页
[self createUIScrollView];
}
}

#pragma mark - 载入视图
- (void)viewDidLoad
{
[super viewDidLoad];
//直接调用即可
[self welcome];
self.view.backgroundColor = [UIColor redColor];
UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
btn.frame = CGRectMake(100, 380, 100, 100);
btn.backgroundColor = [UIColor blackColor];
btn.layer.cornerRadius = 50;
[btn setTitle:@"B界面" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];

}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end
#pragma mark - 拿到当前滚动视图页码  引导页跳转
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
NSLog(@"%f",scrollView.contentOffset.x);
//只要大于960即可跳转
if(scrollView.contentOffset.x > 960)
{
TRSubViewController *svc = [[TRSubViewController alloc] initWithNibName:@"TRSubViewController" bundle:nil];
[self presentViewController:svc animated:YES completion:nil];
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: