顏色選擇器

自iOS13之后,蘋(píng)果加入大量的UI類(lèi)。以前我就抱怨過(guò)蘋(píng)果的UI控件少,API死板的問(wèn)題。

iOS出現(xiàn)了兩個(gè)UI類(lèi)是關(guān)于顏色選擇的。顏色選擇的應(yīng)用場(chǎng)景其實(shí)挺多的。如果自己去寫(xiě)也是可以的,但現(xiàn)在有現(xiàn)成的,功能設(shè)計(jì)又非常好,為什么不用呢?

UIColorWell

UIColorWell是一個(gè)繼承UIControl的視圖,它不能調(diào)整大小和UISwitch類(lèi)似,大小大約是44*44。點(diǎn)擊可彈出一個(gè)選擇顏色的彈窗

屬性

///彈窗的標(biāo)題欄
@property (nullable, nonatomic, copy) NSString *title;

///是否支持調(diào)整透明度
@property (nonatomic) BOOL supportsAlpha;

///選中的顏色,因?yàn)槭抢^承UIControl所以可以添加UIControlEventValueChanged類(lèi)型的Event事件去監(jiān)聽(tīng)顏色改變,同時(shí)也支持KVO
@property (nullable, nonatomic, strong) UIColor *selectedColor;

UIColorPickerViewController

UIColorPickerViewController是一個(gè)繼承UIViewController的視圖控制器,相比于UIColorWell,它支持協(xié)議委托去監(jiān)聽(tīng)顏色的改變和完成兩個(gè)狀態(tài),iOS15時(shí)還會(huì)監(jiān)聽(tīng)顏色變化的持續(xù)狀態(tài)

協(xié)議

UIColorPickerViewControllerDelegate

///監(jiān)聽(tīng)顏色變化

- (void)colorPickerViewController:(UIColorPickerViewController *)viewController
                   didSelectColor:(UIColor *)color
                     continuously:(BOOL)continuously API_AVAILABLE(ios(15.0));

///監(jiān)聽(tīng)動(dòng)作完成

- (void)colorPickerViewControllerDidFinish:(UIColorPickerViewController *)viewController;
屬性
@property (nullable, weak, nonatomic) id<UIColorPickerViewControllerDelegate> delegate;

///和UIColorWell類(lèi)似,支持KVO
@property (strong, nonatomic) UIColor *selectedColor;

///是否支持顏色透明化
@property (nonatomic) BOOL supportsAlpha;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容