Swift開發應用中如何更方便地使用顏色詳解

2022-09-20 21:27:18 字數 1806 閱讀 8375

前言

春節期間做了一款新的產品onescreen,總結了學習swift開發以來的一些技巧,今天為大家帶來乙個方便調取顏色、更好使用顏色、隨時修改顏色的技巧。

主要涵蓋的內容是:

1.通過擴充套件,使用十六進製制顏色碼標記顏色

2.構建自定義的顏色/樣式,在各頁面中方便呼叫

3.在後續ui調整中,只需要調整乙個檔案即可預覽全域性

實際上,2、3的技巧類似於之前分享過的多主題解決方案。

一、使用十六進製制顏色碼

在開發onescreen中,首先建立了extensionfile.swift檔案,如下的**可以實現我們後續呼叫十六進製制顏色碼。

import foundation

extension uicolor

if (cstring.characters.count != 6)

let rindex = cstring.index(cstring.startindex, offsetby: 2)

let rstring = cstring.substring(to: rindex)

程式設計客棧 let otherstring = cstring.substring(from: rindex)

let gindex = otherstring.index(otherstring.startindex, offsetby: 2)

let gstring = otherstring.substring(to: gindex)

let bindex = cstring.index(cstring.endindex, offsetby: -2)

let bstring = cstring.substring(from: bindex)

var r:cunsignedint = 0, g:cunsignedint = 0, b:cunsignedint = 0;

scanner(string: rstring).scanhexint32(&r)

scanner(string: gstring).scanhexint32(&g)

scanner(string: bstring).scanhexint32(&b)

return uicolor(red: cgfloat(r) / 255.0, green: cgfloat(g) / 255.0, blue: cgfloat(b) / 255.0, alpha: cgfloat(1))

}}這樣,我們每一次通過uicolor.colorwithhexstring(hex: "#______")便可以呼叫顏色,更快地進行顏色獲取。

二、建立自己的顏色

接著,我建立了所有頁面中用到的顏色庫theme.swift,直接在檔案中建立了所有將用到的顏色,給每個顏色的適當命名也是方便記憶和使用。

import foundation

import uikit

struct theme

三、在各頁面中呼叫

呼叫的過程很簡單,只需要在我們需要uicolor的地方theme後面直接跟顏色的名稱即可,例如:

cell.backgroundcolor = theme.themedeeppurple

cell.backgroundcolor = theme.themedeepblue

通過兩程式設計客棧個簡單的檔案,便可以更快速的獲取顏色、自定義顏色。當後續ui調整,需要新增、改變顏色時,我們只需要更改theme.swift中的**即可。特別是已經存在的顏色,在其他頁面檔案中無需做任何更改,便可全部更新為最新顏色。

希望這樣的解決方案,能給你的開發提公升效率。

總結本文標題: swift開發應用中如何更方便地使用顏色詳解

本文位址:

Swift開發應用時如何更方便地使用顏色

oneswift ios tips based on swift 春節期間做了一款新的產品onescreen,總結了學習swift開發以來的一些技巧,今天為大家帶來乙個方便調取顏色 更好使用顏色 隨時修改顏色的技巧。主要涵蓋的內容是 1.通過擴充套件,使用十六進製制顏色碼標記顏色 2.構建自定義的顏...

在樹莓派上如何更方便的安裝opencv

由於畢設是用樹莓派 opencv做的乙個東西,安裝環境的時候發現網上關於樹莓派上安裝opencv的教程基本上都是從乙個地方抄過來的,而且都是原始碼編譯,試了很多次都沒成功,這裡講講最簡單的方法 此方法只適用於不需要contrib擴充套件模組功能的使用者,如果你需要,老老實實使用原始碼編譯 1.pyt...

封裝nb log類,應用在專案上使用更方便

使用pip即可安裝使用 pip install nb log0 自動轉換print效果,再也不怕有人在專案中隨意print,導致很難找到是從 冒出來的print。只要import nb log,專案所有地方的print自動現型並在控制台可點選幾精確跳轉到print的地方。1 相容性 使用的是pyth...