前言
這裡使用launchscreen
、.storyboard
檔案建立啟**和引導頁。首次開啟專案或者更新後第一次開啟時展示引導頁,儲存有使用者資訊時進入首頁,否則進入登入註冊頁面。
正文1. 動態啟**
將launchscreen.storyboard
檔案上放入乙個。並新增約束,鋪滿整個頁面。為launchscreen.storyboard
檔案設定storyboard id
。注意到檔案的class
是uiviewcontroller
。
/// 動態啟**
fileprivate func setuplaunchimage() )
}} 在啟動時呼叫方法。必須要先設定window?.makekeyandvisible()
,使window
可用。否則後面使用window
時,始終為nil
。
window?.makekeyandvisible()
setuplaunchimage()
return
true
}檢視效果:
如果想要在啟**上做些什麼,譬如新增鏈結、倒計時等,建立launchscreen
檔案對應的controller
**檔案,然後設計開發。
2. 引導頁
暫時不考慮是否展示引導頁的問題,目前始終展示引導頁。建立引導頁.storyboard
檔案。關聯相關檔案。關於storyboard
檔案中uiscrollview
檔案的使用,參考 storyboard中的uiscrollview使用自動布局,使其能夠滾動 ,或者 史上最簡單的uiscrollview+autolayout出坑指南。
fileprivate let guidevc = uistoryboard(name: "guidepage", bundle: nil).instantiateviewcontroller(withidentifier: "guideviewcontroller") as? guideviewcontroller
window?.rootviewcontroller = guidevc
window?.makekeyandvisible()
setuplaunchimage()
return
true
}
/// 動態啟**
fileprivate func setuplaunchimage() )
}/// 展示引導頁
/// /// - parameter animationafter: 延時動畫時間
private func showguidepage(_ animationafter: timeinterval)
}}}
效果:
3. 程式首次啟動或者更新後首次啟動才展示引導頁
首先設定一些全域性變數:
// 本地儲存版本號
public
// 本地賬號
public
let kusername = "username"
// 本地密碼
public
let kpassword = "password"
/// 從 storyboard 中讀取 viewcontroller
////// - parameters:
/// - name: sb name
/// - identifier: vc identifier
/// - returns: need vc
public func mviewcontrollerbystoryboard(sb name: string, vc identifier: string) -> uiviewcontroller
/// 設定 userdefaults 值的訪問
public func muserdefaultssetvalue(_ value: any, _ key: string)
public func muserdefaultsobject(_ key: string) -> any?
判斷是否是第一次啟動或者版本更新:
/// 是否是首次登陸或者版本更新
/// /// - returns: 判斷是否要展示引導頁
fileprivate func isfirstlaunchorupdated() -> bool else
}
上面方法中bundle.main.object(forinfodictionarykey: kcfbundleversionkey as string) as? string
是從info.plist
檔案中讀取版本號。
通過這個方法,設定引導頁的展示。
if isfirstlaunchorupdated() else else
}window?.makekeyandvisible()
setuplaunchimage()
return
true
}並在展示引導頁的方法中加入判斷:
/// 展示引導頁
/// /// - parameter animationafter: 延時動畫時間
private func showguidepage(_ animationafter: timeinterval)
// 將引導頁設定為主頁面
let guideview = guidevc?.view
window?.addsubview(guideview!)
guideview?.alpha = 0.5
// 延時載入動畫
dispatchqueue.main.asyncafter(deadline: dispatchtime.now() + animationafter) }}
結束 iOS 引導頁實現
myintroductionview.h myintroductionview.m myintroductionpanel.h myintroductionpanel.m 這四個檔案,再加上一些影象資源加到你的工程中去。之後如果要修改影象等資源只要在相應位置修改就好了。在對應的.件中引入標頭檔案並且...
使用者引導頁 ios
儲存使用者的偏好設定 比如是否第一次啟動,使用者名稱,密碼等,nsuserdefault defaults nsuserdefaults standarduserdefaults 單例物件 bool islaunched defaults boolforkey lanou 建立判斷是否第一次啟動的鍵...
iOS透明引導頁
一 效果展示 二 怎麼做?方案有很多種,不同的方案有不同的優缺點,這裡列舉兩種常見的方案 方案一 生成整張引導圖 1 匯出引導圖 讓設計師匯出各個尺寸的引導圖,引導圖只包含指引部分,不包括背景,匯出的引導圖樣式如下 這裡寫描述 需要匯出iphone4,iphone5,iphone6,iphone6 ...