iOS导航页

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];
    }
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值