歡迎您光臨本站 註冊首頁

iOS開發添加新手引導效果

←手機掃碼閱讀     火星人 @ 2020-06-12 , reply:0

往往項目中經常出現此類需求

用戶通過點擊引導按鈕可響應頁面附帶按鈕的點擊事件。

  //  // gzhGuideView.h  // GuideView  //  // Created by 郭志賀 on 2020/5/29.  // Copyright © 2020 郭志賀. All rights reserved.  //    #importNS_ASSUME_NONNULL_BEGIN    @interface gzhGuideView : UIView      -(void)showGuide:(UIView*)view;//顯示引導  -(void)dismissGuide;//移除    @end    NS_ASSUME_NONNULL_END

 

  //  // gzhGuideView.m  // GuideView  //  // Created by 郭志賀 on 2020/5/29.  // Copyright © 2020 郭志賀. All rights reserved.  //    #import "gzhGuideView.h"    @implementation gzhGuideView  -(instancetype)initWithFrame:(CGRect)frame{      if (self = [super initWithFrame:frame]) {        self.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.6];      //主要代碼 添加路徑      UIBezierPath *path = [UIBezierPath bezierPathWithRect:frame];      // 這裡添加第二個路徑 需要扣除的部分      [path appendPath:[[UIBezierPath bezierPathWithRoundedRect:CGRectMake(100, 100, 150, 40) cornerRadius:5] bezierPathByReversingPath]];        //渲染      CAShapeLayer *shapeLayer = [CAShapeLayer layer];      shapeLayer.path = path.CGPath;      [self.layer setMask:shapeLayer];        //根據需求添加按鈕 實現點擊事件      UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];      button.frame = CGRectMake(100, 100, 150, 40);      [button addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];      button.layer.cornerRadius = 5.0f;      button.layer.masksToBounds = YES;      [self addSubview:button];    }      return self;  }    -(void)showGuide:(UIView *)view{//添加        [view.window addSubview:self];    [view.window bringSubviewToFront:self];    self.alpha = 1;      }  -(void)dismissGuide{//移除      [self removeFromSuperview];    }  -(void)buttonClick{    [self dismissGuide];    NSLog(@"引導狀態可點擊");    }  @end

 

相應頁面直接添加

  gzhGuideView * guide = [[gzhGuideView alloc]initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight)];    dispatch_async(dispatch_get_main_queue(), ^{    [guide showGuide: self .view];     });

 

可根據不同需求進行不同的佈局,核心代碼就是添加路徑

      

   


[火星人 ] iOS開發添加新手引導效果已經有165次圍觀

http://coctec.com/docs/program/show-post-238198.html