2014-09-23 7 views
10

मेरे पास UITextField है जिसमें मैं बाईं ओर एक छवि जोड़ना चाहता हूं। मैं UIImageView का उपयोग करके ऐसा करता हूं जो leftViewUITextField की संपत्ति में सेट है। इमेज व्यू में छवि का आकार उचित आकार में बदल दिया गया है। समस्या यह है कि यह सीमा के लिए छड़ी है। मैं छवि के बाएं इंडेंट को कैसे सेट कर सकता हूं। मुझे लगता है कि एक समाधान छवि के बाईं ओर कुछ रिक्त स्थान सेट करना है, लेकिन मैं इंडेंट का उपयोग करना चाहता हूं। इसके अलावा मैं छवि के बाद कुछ इंडेंट चाहता हूं, इसलिए पाठ इतना करीब नहीं है।आईओएस 7 में UITextField में इंडेंट के साथ छवि UIImage कैसे जोड़ें?

मैं निम्नलिखित का उपयोग कोड:

[textField setLeftViewMode:UITextFieldViewModeAlways]; 

UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 37, 20)]; 
imageView1.image = [UIImage imageNamed:@"custom_image"]; 
textField.leftView = imageView1; 
+0

उप देखने के बजाय, उस छवि को छवि दृश्य पर दायर (सीमा के बिना) रखें – raki

उत्तर

1

आप UITextField उपवर्ग और लागू में यह

- (CGRect)leftViewRectForBounds:(CGRect)bounds

1

शायद तुम एक उपवर्ग UITextField

- (CGRect)leftViewRectForBounds:(CGRect)bounds; 
- (void)drawTextInRect:(CGRect)rect; 

ये है और ओवरराइड करता है चाहिए की जरूरत है बाएं दृश्य के लिए rect बदल जाएगा।

12

आप UIImageview फ्रेम को मूल UIImage से अधिक सेट कर सकते हैं और UIImageview सामग्री मोड संपत्ति को केंद्र में सेट कर सकते हैं। कृपया नीचे दिए गए उत्तर का संदर्भ लें।

UIImageView *imgSearch=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 32, 28)]; // Set frame as per space required around icon 
[imgSearch setImage:[UIImage imageNamed:@"search.png"]]; 

[imgSearch setContentMode:UIViewContentModeCenter];// Set content mode centre 

self.tfSearch.leftView=imgSearch; 
self.tfSearch.leftViewMode=UITextFieldViewModeAlways; 
संबंधित मुद्दे