你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS應用runtime修正文本框(TextField)的占位文字色彩

iOS應用runtime修正文本框(TextField)的占位文字色彩

編輯:IOS開發綜合

媒介

在年夜家日常平凡的開辟中,有時刻會碰到配景深色的界面上須要添加TextField,TextField默許的占位色彩也是深灰色,比擬好看清,這時候候就須要修正展位文字的色彩,可是體系沒有供給響應的辦法,那末就須要我們本身來自界說了

修正後的後果

話不多說,上面上代碼:

// .h文件

#import <UIKit/UIKit.h>

@interface UITextField (Placeholder)

@property UIColor *placeholderColor;

@end
// .m文件

#import "UITextField+Placeholder.h"

#import <objc/message.h>

NSString * const placeholderColorName = @"placeholderColor";

@implementation UITextField (Placeholder)

+ (void)load
{
 // 獲得setPlaceholder
 Method setPlaceholder = class_getInstanceMethod(self, @selector(setPlaceholder:));
 // 獲得bs_setPlaceholder
 Method bs_setPlaceholder = class_getInstanceMethod(self, @selector(bs_setPlaceholder:));

 // 交流辦法
 method_exchangeImplementations(setPlaceholder, bs_setPlaceholder);
}

// OC最愛好懶加載,用的的時刻才會去加載

// 須要給體系UITextField添加屬性,只能應用runtime

- (void)setPlaceholderColor:(UIColor *)placeholderColor
{
 // 設置聯系關系
 objc_setAssociatedObject(self,(__bridge const void *)(placeholderColorName), placeholderColor, OBJC_ASSOCIATION_RETAIN_NONATOMIC);

 // 設置占位文字色彩
 UILabel *placeholderLabel = [self valueForKeyPath:@"placeholderLabel"];

 placeholderLabel.textColor = placeholderColor;

}

- (UIColor *)placeholderColor
{
 // 前往聯系關系

 return objc_getAssociatedObject(self, (__bridge const void *)(placeholderColorName));
}

// 設置占位文字,而且設置占位文字色彩
- (void)bs_setPlaceholder:(NSString *)placeholder
{
 // 1.設置占位文字
 [self bs_setPlaceholder:placeholder];


 // 2.設置占位文字色彩
 self.placeholderColor = self.placeholderColor;

}

@end

總結

以上就是IOS應用runtime修正文本框占位文字色彩的全體內容,願望對年夜家開辟IOS能有所贊助,假如有疑問年夜家可以留言交換。

【iOS應用runtime修正文本框(TextField)的占位文字色彩】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved