में UITextView में NSAttributedString को लगातार कैसे आकर्षित करें मुझे NSIttributedStrings का उपयोग करके UITableViewCell में UITextViews से लगातार परिणाम प्राप्त करने में समस्या हो रही है।UITableViewCell
अंदर - (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
headerText = [[UITextView alloc]initWithFrame:CGRectZero];
[headerText setUserInteractionEnabled:NO];
headerText.tag = HEADER_TEXT;
[cell.contentView addSubview:headerText];
} else {
headerText = (UITextView*)[cell.contentView viewWithTag:HEADER_TEXT];
}
//...setting up attributed strings
[headerText setAttributedText:headerString];
CGSize headerSize = [headerText sizeThatFits:CGSizeMake(246, CGFLOAT_MAX)];
headerText.frame = CGRectMake(45, 8, headerSize.width, headerSize.height);
परिणाम:
आप कर सकते हैं के रूप में देखें, पहले दो पाठ को इस तरह से आकर्षित करने के लिए प्रकट होते हैं कि मैं उम्मीद/चाहूंगा। पिछले दो में UITextView आकारThatFits विधि एक बड़ा आकार देता है, फिर पाठ को आकर्षित करने के लिए आवश्यक होता है और पाठ फ्रेम में केंद्रित हो जाता है बल्कि फ्रेम के शीर्ष पर तंग होता है। यह एक मुद्दा है क्योंकि मैं uitextview फ्रेम ऊंचाई के आधार पर अन्य विचारों को लेआउट करने में सक्षम होना चाहता हूं।
फ्रेम से बाहर है और पीठ में स्क्रॉल करने के बाद:
अब यह और भी अजनबी, जब कोशिकाओं पुन: उपयोग कर रहे हैं हो जाता है, और जिम्मेदार ठहराया स्ट्रिंग फिर से स्थापित किया जाएगा। uitextview पाठ को असंगत तरीके से खींचता है।
भी
headerText.contentInset = UIEdgeInsetsMake(-8, -8, -8, -8);
को contentInsets स्थापना संगत परिणाम किसी भी प्रकार प्रदान नहीं करता: वहाँ अन्य
हैं:
और contentinset सेट के साथ स्क्रॉल करने के बाद UITextView पर विशेषताएँ जो मुझे व्यवहार वें प्राप्त करने की अनुमति देगी मुझे जरूरत है?
self.tv.text = nil;
self.tv.font = nil;
self.tv.textColor = nil;
self.tv.textAlignment = NSTextAlignmentLeft;
self.tv.attributedText = s2;
अन्यथा, आप के रूप में:
मैं UITextView का उपयोग कर रहा हूं क्योंकि यह UITextInput प्रोटोकॉल लागू करता है। जो मुझे टेक्स्ट के कुछ सबस्ट्रिंग्स पर बटन बनाने की अनुमति देता है। मैं मानता हूं कि पाठ को सीधे चित्रित करना अनुकूल होगा। आईओएस पुस्तकालयों को मैं इसे प्राप्त करने के लिए क्या करना चाहिए? प्रश्न का उत्तर देने के लिए फिर से धन्यवाद। –
पाठ खींचने के लिए कोई "पुस्तकालय" की आवश्यकता नहीं है। यह UIKit का हिस्सा है। – matt
मुझे लगता है कि मुझे यह निर्धारित करने में सक्षम होने के लिए कोरटेक्स्ट का उपयोग करने की आवश्यकता हो सकती है कि किसी दिए गए रेखा या पाठ के शीर्ष पर कोई स्पर्श आया हो। –