मैं कैसे NSString drawInRect साथ घुमाया पाठ आकर्षित करने के लिए पर इस जवाब मिल गया के साथ पाठ घुमाया :, लेकिन मुझे यकीन है कि यह कैसे काम करता है, क्योंकि यह केवल एक तरह से मेरे लिए काम करता नहीं हूँ: https://discussions.apple.com/thread/1779814?start=0&tstart=0आहरण NSString drawInRect
मेरे कोड दिखता है जैसे:
CGContextSaveGState(context);
CGContextDrawLinearGradient(context, gradient, CGPointMake(0, centY - halfWidth), CGPointMake(0, centY + halfWidth), 0);
// Add text
CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
NSString *str = @"some test string";
CGAffineTransform transform1 = CGAffineTransformMakeRotation(M_PI/4);
CGContextConcatCTM(context, transform1);
CGContextTranslateCTM(context, 0, 0);
UIFont *font = [UIFont systemFontOfSize:16.0];
[str drawInRect:CGRectMake(0, 0, 200, 100) withFont:font lineBreakMode:UILineBreakModeWordWrap alignment:UIBaselineAdjustmentNone];
तो जब मैं इसका उपयोग करता हूं, तो मुझे एक्स-अक्ष के नीचे 45 डिग्री खींचा जाने वाला टेक्स्ट दिखाई देता है। मैं अपने लाइनग्राइडेंट के साथ लंबवत पाठ को आकर्षित करना चाहता हूं। तो मैंने सोचा कि मैं 90 डिग्री के लिए एमएफआई/2 का उपयोग करके ऐसा कर सकता हूं। हालांकि मुझे अपना पाठ नहीं दिख रहा है। मैंने घूर्णन के लिए अलग-अलग परिवर्तनों की कोशिश की है, और केवल कुछ ही एमएफआई/4 और एमएफआई/8 की तरह काम करते हैं। मुझे लगता है कि अगर मैंने -एम_PI/4 का उपयोग किया है तो इसमें एक्स-अक्ष से 45 डिग्री टेक्स्ट होगा और एमएफआई/2 एक्स-अक्ष के नीचे 90 डिग्री होगा। लेकिन दोनों कुछ भी नहीं बदलते हैं।
कोई विचार? धन्यवाद।
बहुत बहुत धन्यवाद। लेकिन अगर मैं -एम_PI_2 को M_PI_2 में बदलता हूं। यह स्ट्रिंग गायब हो जाएगी। क्यूं कर? – Jacky
मुझे यह मिला, अगर बदल गया- M_PI_2 से M_PI_2, तो उसे CGContextTranslateCTM (संदर्भ, -rect.size.height, 0) को बदलने की भी आवश्यकता है; CGContextTranslateCTM (संदर्भ, 0, -rect.size.height) के लिए; – Jacky