OC App引导页的简单设置

1.通过GuidePageViewController控制器类来实现:

typedef void(^didClickStartBtn)(void);
@interface GuidePageViewController : UIViewController
/**引导页图片数组*/
@property (nonatomic, strong)NSArray *imageArrary;
/**点击了开始按钮的回调*/
@property (nonatomic, copy)didClickStartBtn didClickStartBtnBlock;
@end
#import "GuidePageViewController.h"

@interface GuidePageViewController ()<UIScrollViewDelegate>
@property (nonatomic, strong)UIPageControl *pageControl;
@end

@implementation GuidePageViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    
}
//设置视图
- (void)setupView {
    UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:self.view.bounds];
    scrollView.delegate = self;
    scrollView.showsHorizontalScrollIndicator = NO;
    scrollView.backgroundColor = [UIColor whiteColor];
    [self.view addSubview:scrollView];
    //设置图片
    CGFloat imgW = scrollView.frame.size.width;
    CGFloat imgH = scrollView.frame.size.height;
    for (int i = 0; i < self.imageArrary.count; i++) {
        UIImageView *imageV = [[UIImageView alloc]init];
        imageV.image = [UIImage imageNamed:self.imageArrary[i]];
        imageV.frame = CGRectMake(i * imgW, 0, imgW, imgH);
        [scrollView addSubview:imageV];
        //最后一张图片添加按钮
        if (i == self.imageArrary.count - 1) {
            [self addStartButtonInImageView:imageV];
        }
    }
    scrollView.contentSize = CGSizeMake(self.imageArrary.count * imgW, imgH);
    scrollView.pagingEnabled = YES;
    
    //设置点
    self.pageControl = [[UIPageControl alloc]init];
    self.pageControl.frame = CGRectMake(0, self.view.frame.size.height - HOME_INDICATOR_HEIGHT - 20, self.view.frame.size.width, 20);
    self.pageControl.numberOfPages = self.imageArrary.count;
    self.pageControl.currentPage = 0;
    self.pageControl.pageIndicatorTintColor = [UIColor whiteColor];
    self.pageControl.currentPageIndicatorTintColor = [UIColor redColor];
    [self.view addSubview:self.pageControl];
}
//设置图片数组
- (void)setImageArrary:(NSArray *)imageArrary {
    _imageArrary = imageArrary;
    [self setupView];
}
//添加开始按钮
- (void)addStartButtonInImageView:(UIImageView *)imageView {
    imageView.userInteractionEnabled = YES;
    UIButton *startButton = [[UIButton alloc]init];
    [startButton setTitle:@"开始体验" forState:UIControlStateNormal];
    [startButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    CGFloat startButtonY = self.view.bounds.size.height - HOME_INDICATOR_HEIGHT - 20 - 50;
    CGFloat startButtonW = 145;
    CGFloat startButtonH = 50;
    CGFloat startButtonX = (self.view.bounds.size.width - startButtonW)/2;
    startButton.frame = CGRectMake(startButtonX, startButtonY, startButtonW, startButtonH);
    startButton.layer.cornerRadius = 3;
    startButton.backgroundColor = [UIColor redColor];
    [startButton addTarget:self action:@selector(loadViewController) forControlEvents:UIControlEventTouchUpInside];
    [imageView addSubview:startButton];
}
#pragma mark - UIScrollViewDelegate
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
    int page = scrollView.contentOffset.x / scrollView.frame.size.width;
    //设置页码
    self.pageControl.currentPage = page;
}
//点击了开始体验
- (void)loadViewController {
    self.didClickStartBtnBlock();
}
/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end

2.使用方法:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    //设置引导页
    GuidePageViewController *vc = [[GuidePageViewController alloc]init];
    vc.imageArrary = @[@"Intro_Screen_1",@"Intro_Screen_2",@"Intro_Screen_3",@"Intro_Screen_4"];
    //点击按钮后的方法回调
    vc.didClickStartBtnBlock = ^{
        Item1ViewController *v1 = [[Item1ViewController alloc]init];
        BaseNavigationController *n1 = [[BaseNavigationController alloc]initWithRootViewController:v1];
        Item2ViewController *v2 = [[Item2ViewController alloc]init];
        BaseNavigationController *n2 = [[BaseNavigationController alloc]initWithRootViewController:v2];
        
        self.tabBarController = [[BaseTabBarController alloc]init];
        self.tabBarController.viewControllers = @[n1,n2];
        
        UITabBar *tabBar = self.tabBarController.tabBar;
        
        UITabBarItem *item1 = [tabBar.items objectAtIndex:0];
        item1.title = @"item1";
        
        UITabBarItem *item2 = [tabBar.items objectAtIndex:1];
        item2.title = @"item2";
        
        self.window.rootViewController = self.tabBarController;
    };
    self.window.rootViewController = vc;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
黑苹果安装教程中使用OC引导的方法可以参考以下步骤: 1. 确定系统版本: 首先,确定你要安装黑苹果的目标系统版本。推荐使用最新版的 macOS 12.x。 2. 下载所需工具: 你需要下载一些工具来帮助你进行安装。其中包括 Hackintool、OpenCore Configurator、最新版的 OpenCore 和 Meld。 3. 检查 OC 版本: 查看你当前使用的 OC 版本。可以使用 Hackintool、OpenCore Configurator 或 hackintoshbuild 来进行检查。 4. 更新 OC: 如果你想升级到新版的 OC,可以下载最新版的 OpenCore,并按照相应的教程进行升级。 5. 配置 OC: 使用 OpenCore Configurator 对 OC 进行配置。根据你的硬件配置和需求,进行相应的设置,如添加或删除驱动、设置启动参数等。 6. 安装黑苹果: 完成 OC 配置后,将 OC 引导文件放置到 U 盘或硬盘的 EFI 分区中,并将其作为启动设备。 7. 安装 macOS: 使用 U 盘或硬盘启动,进入安装界面,并按照正常的 macOS 安装流程进行安装。 请注意,以上只是黑苹果安装教程中使用 OC 引导的简要步骤,具体的操作细节和注意事项可以参考相关的教程和引导文件。123 #### 引用[.reference_title] - *1* *3* [黑苹果必备技能之一:升级OC(open core)引导](https://blog.csdn.net/qq_24028389/article/details/110295303)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *2* [黑苹果MacOS Monterey 12.0 -12.3 OpenCore 0.8.0 (OC) 引导升级教程(最新版)](https://blog.csdn.net/CWH4567/article/details/124791759)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值