iOS開發(fā)添加新手引導(dǎo)效果
往往項(xiàng)目中經(jīng)常出現(xiàn)此類需求

用戶通過點(diǎn)擊引導(dǎo)按鈕可響應(yīng)頁面附帶按鈕的點(diǎn)擊事件。
// // gzhGuideView.h // GuideView // // Created by 郭志賀 on 2020/5/29. // Copyright © 2020 郭志賀. All rights reserved. // #import <UIKit/UIKit.h> NS_ASSUME_NONNULL_BEGIN @interface gzhGuideView : UIView -(void)showGuide:(UIView*)view;//顯示引導(dǎo) -(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];
// 這里添加第二個(gè)路徑 需要扣除的部分
[path appendPath:[[UIBezierPath bezierPathWithRoundedRect:CGRectMake(100, 100, 150, 40) cornerRadius:5] bezierPathByReversingPath]];
//渲染
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
shapeLayer.path = path.CGPath;
[self.layer setMask:shapeLayer];
//根據(jù)需求添加按鈕 實(shí)現(xiàn)點(diǎn)擊事件
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(@"引導(dǎo)狀態(tài)可點(diǎn)擊");
}
@end
相應(yīng)頁面直接添加
gzhGuideView * guide = [[gzhGuideView alloc]initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight)];
dispatch_async(dispatch_get_main_queue(), ^{
[guide showGuide: self .view];
});
可根據(jù)不同需求進(jìn)行不同的布局,核心代碼就是添加路徑
總結(jié)
到此這篇關(guān)于iOS開發(fā)添加新手引導(dǎo)的實(shí)例代碼的文章就介紹到這了,更多相關(guān)ios新手引導(dǎo)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
iOS開發(fā)之WKWebViewJavascriptBridge Xcode9中導(dǎo)致crash的解決
大家都知道WebViewJavascriptBridge它主要幫助我們優(yōu)雅的實(shí)現(xiàn)OC與JS的交互,下面這篇文章主要給大家介紹了關(guān)于iOS開發(fā)之WKWebViewJavascriptBridge Xcode9中導(dǎo)致crash的解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-10-10
ios UITableView 自定義右滑刪除的實(shí)現(xiàn)代碼
這篇文章主要介紹了ios UITableView 自定義右滑刪除的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07
iOS應(yīng)用開發(fā)中導(dǎo)航欄按鈕UIBarButtonItem的添加教程
這篇文章主要介紹了iOS應(yīng)用開發(fā)中導(dǎo)航欄按鈕UIBarButtonItem的添加教程,文中詳細(xì)介紹了使用UINavigationController導(dǎo)航控制器添加的過程,需要的朋友可以參考下2016-02-02
iOS實(shí)現(xiàn)圖片壓縮的兩種方法及圖片壓縮上傳功能
ios 圖片壓縮有兩種方法,分別是,壓縮圖片質(zhì)量(Quality),壓縮圖片尺寸(Size),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2017-01-01
iOS系統(tǒng)和微信中不支持audio自動播放問題的解決方法
最近在微信端開發(fā)H5的時(shí)候,audio標(biāo)簽在蘋果機(jī)上無法進(jìn)行自動播放,查找相關(guān)資料終于解決了,所以下面這篇文章主要給大家介紹了關(guān)于iOS系統(tǒng)和微信中不支持audio自動播放問題的解決方法,需要的朋友可以參考下。2017-09-09

