मैंने अपने ViewController क्लास में एक कस्टम विधि बनाई, जैसे दिखाया गया bellow:
- (void) modifyTextField:(UITextField *)textField
{
// Prepare the imageView with the required image
uint padding = 10;//padding for iOS7
UIImageView * iconImageView = [[UIImageView alloc] initWithImage:iconImage];
iconImageView.frame = CGRectMake(0 + padding, 0, 16, 16);
// Set the imageView to the left of the given text field.
textField.leftView = iconImageView;
textField.leftViewMode = UITextFieldViewModeAlways;
}
अब मैं उस तरीके को अंदर ( viewDidLoad
विधि) कह सकता हूं और अपने किसी भी TextFields
तरीके को उस विधि से भेज सकता हूं और दाएं और बाएं दोनों के लिए पैडिंग जोड़ सकता हूं , और कोड की सिर्फ एक पंक्ति लिखकर पाठ और पृष्ठभूमि रंग दे सकता हूं :
[self modifyTextField:self.firstNameTxtFld];
यह पूरी तरह से iOS 7 पर काम करता है! आशा है कि यह अभी भी iOS 8 और 9 पर काम करता है!
मुझे पता है कि बहुत अधिक दृश्य जोड़ने से यह लोड होने के लिए थोड़ी भारी वस्तु हो सकती है। लेकिन जब अन्य समाधानों में कठिनाई के बारे में चिंतित हूं, तो मैंने खुद को इस पद्धति के लिए अधिक पक्षपाती पाया और इस तरह से उपयोग करने के साथ अधिक लचीला। ;)
आशा है कि यह उत्तर किसी अन्य के समाधान का पता लगाने के लिए सहायक या उपयोगी हो सकता है।
चीयर्स!