2012-03-18 16 views
5

मेरे पास UITextView है और इसमें शीर्ष पर एक अजीब मार्जिन है, यह सुनिश्चित नहीं है कि इसका क्या कारण है। यहाँ चित्र है, पृष्ठभूमि नारंगी है:UITextView अजीब मार्जिन शीर्ष पर देखें?

textViewTest = [[UITextView alloc] initWithFrame:CGRectMake(135, 0, 150, 68)]; 
[textViewTest setContentInset:UIEdgeInsetsZero]; 
[textViewTest setUserInteractionEnabled:NO]; 
[textViewTest setBackgroundColor:[UIColor orangeColor]]; 
[textViewTest setTextColor:[UIColor whiteColor]]; 
//[textViewTest setFont:[UIFont fontWithName:@"MuseoSans-500" size:12.0]]; 
[textViewTest setText:@"Spooky (rename)\nCreated: 4/10/11\nUpload Youtube\nDelete | Favorite"]; 

क्या मैं चाहता हूँ UITextView (textViewTest) में पाठ है ऊपर से किसी भी स्थान नहीं करने के लिए (:

enter image description here

यहाँ मेरी प्रासंगिक कोड है मार्जिन)। वर्तमान में, नारंगी के शीर्ष से 8-10 पीएक्स की तरह है, तो पाठ शुरू होता है।

+0

वह यह है कि एक सेल में? – Lunayo

+0

हाँ यह UITableViewCell – 0xSina

+0

में है, इसलिए आप नारंगी दृश्य को लाल रंग के दृश्य के समान संरेखित करना चाहते हैं? – Lunayo

उत्तर

19

आप केवल पाठ ले जाना चाहते हैं की तरह लाल रंग दृश्य y का उपयोग नहीं,

[textViewTest setContentInset:UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>)]; 

कहाँ एक सकारात्मक संख्या मध्य की ओर फ्रेम ले जाता है, एक नकारात्मक कोशिश इसे बीच से बाहर ले जाता है।

उदाहरण के लिए, [textViewTest setContentInset:UIEdgeInsetsMake(-5, 0, 5,0)], टेक्स्ट 5 पिक्सल ऊपर ले जाएगा!

+0

पर सेट करें यह समाधान अच्छा है, लेकिन ऐसा क्यों होता है? आईओएस 7 पर किसी कारण से नियंत्रणों के कारण लगभग 40 पिक्सल का मार्जिन नहीं है। 4012ixel मार्जिन के लिए – bashan

+0

@ बाशान, आपको यह करने की ज़रूरत है: http://stackoverflow.com/questions/18931934/blank-space-at-top-of-uitextview-in-ios-7 – strange

+0

धन्यवाद। मैंने इसे इस तरह हल किया। मैं बस सोच रहा था कि वह क्यों है और इसे नियंत्रित करना इतना मुश्किल क्यों है ... – bashan

-1

अपने पाठ को देखने के आकार कोशिश अपने पाठ फिट करने के लिए: [textViewTest sizeToFit];

+0

nop, काम नहीं करता। – 0xSina

-1

मुझे लगता है कि आप नारंगी रंग दृश्य लाल रंग दृश्य के रूप में एक ही संरेखित करना चाहते हैं। लाल रंग दृश्य फ्रेम क्या है? मुझे लगता है कि यह फ्रेम की समस्या है।

क्यों

textViewTest = [[UITextView alloc] initWithFrame:CGRectMake(135, 
                  [redView frame].origin.y, 
                  150, 68)]; 
+0

मुझे जो चाहिए वह UITextView (textViewTest) में टेक्स्ट है जो शीर्ष (मार्जिन) से कोई स्थान नहीं है। वर्तमान में, नारंगी के शीर्ष से 8-10 पीएक्स की तरह है, तो पाठ शुरू होता है। – 0xSina

+0

ओह! मुझे लगता है कि आप क्या चाहते हैं लंबवत संरेखण है। और UITextView में वर्टिकल टेक्स्ट संरेखण का कोई आसान तरीका नहीं है इस लिंक को जांचें http://imagineric.ericd.net/2011/03/10/ios-vertical-aligning-text-in-a-uitextview/। या आप इसे एक UITextField में बदल सकते हैं और इसे एक दृश्य में जोड़ सकते हैं। और 'contentVerticalAlignment' को 'UIControlContentVerticalAlignmentCenter' – Lunayo

2

viewDidLoad में जोड़ें:

self.automaticallyAdjustsScrollViewInsets = NO; 
संबंधित मुद्दे