2013-05-17 9 views
7

कैसे यह काला करने के लिए, प्लेसहोल्डर पाठ मैं अपने UITextField नियंत्रण में सेट की रंग बदलने के लिए के लिए?कैसे बदलें प्लेसहोल्डर पाठ रंग - आईओएस

+2

से ऊपर सभी प्रश्नों के उत्तर, IOS 6 से, वहाँ एक संपत्ति 'NSAttributedString है * attributedPlaceholder' उदा 'TextField.attributedPlaceholder = [[NSAttributedString alloc] initWithString: शीर्षक को उत्तरदायी मानते: @ {NSFontAttributeName: textField.font, NSForegroundColorAttributeName: textField.textColor}];' – Hemang

उत्तर

7

आप drawPlaceholderInRect:(CGRect)rect जैसे ओवरराइड मैन्युअल प्लेसहोल्डर पाठ प्रस्तुत करने के लिए कर सकते हैं:

- (void) drawPlaceholderInRect:(CGRect)rect { 
[[UIColor blueColor] setFill]; 
[[self placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:16]]; 

}

1

आप इस का उपयोग कर सकते हैं प्लेसहोल्डर पाठ रंग बदलने के लिए।

- (void) drawPlaceholderInRect:(CGRect)rect { 
    [[UIColor blueColor] setFill]; 
    [[self placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:16]]; 
} 
4

आपको यूआईटीएक्स्टफाल्ड क्लास को उप-वर्ग करना होगा और निम्न विधि को ओवरराइड करना होगा।

- (void) drawPlaceholderInRect:(CGRect)rect 
{ 
    [[UIColor blackColor] setFill]; 

    [[self placeholder] drawInRect:rect withFont:[UIFont italicSystemFontOfSize:17] lineBreakMode:UILineBreakModeCharacterWrap alignment:UITextAlignmentLeft]; 

} 
1

निम्नलिखित कोड का उपयोग करें। जो आपकी मदद करेगा।

- (void) drawPlaceholderInRect:(CGRect)rect 
    { 
    [[UIColor redColor] setFill]; 
    [[self placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:16]]; 
    } 
45

KVC

का उपयोग कर
[yourtextfield setValue:[UIColor colorWithRed:120.0/255.0 green:116.0/255.0 blue:115.0/255.0 alpha:1.0] forKeyPath:@"_placeholderLabel.textColor"]; 

आप अपने खुद के रंग प्लेसहोल्डर

+0

किसी को भी इस के साथ App स्टोर के लिए एक एप्लिकेशन प्रस्तुत किया गया है? 'तक पहुँचने _placeholder' एक निजी पद्धति के रूप में शामिल कर सकता है की तरह मुझे लगता है ... – samvermette

+0

@samvermette हाँ हम इस कोड के साथ एक ऐप्लिकेशन प्रस्तुत की, यह के रूप में निजी विधि – Vinodh

+1

देखें http://stackoverflow.com/a/3396065 में नहीं मिलेगा/309046 उत्तर – satish

13

यह एक सबसे अच्छा तरीका है KVO के माध्यम से अपने प्लेसहोल्डर रंग बदलने के लिए है ... सेट कर सकते हैं

[txtEmailAddress setValue:[UIColor blackColor] forKeyPath:@"_placeholderLabel.textColor"]; 

मुझे आशा है कि यह आपको प्लेसहोल्डर रंग बदलने में मदद करेगा। धन्यवाद

+0

क्या आप इसे उत्पादन में उपयोग कर रहे हैं? मेरा मतलब है एक निजी संपत्ति का उपयोग करना। – Geri

+0

यह अच्छी तरह से काम किया। धन्यवाद –

संबंधित मुद्दे