NSAttributedString kullanarak, aşağıdaki gibi bir üçgen içinde metin oluşturmaya çalıştım; NSLineBreakByWordWrapping neden kelime ayırır?
http://postimg.org/image/rp9fukgaj/
I tanımlanan şekil içine uygun metin için "NSLineBreakByWordWrapping" yöntemi kullanılır. Ama metnin ilk kelimesi bölündü ve bunun için bir çözüm bulamadım. Metnimin bölme yerine aşağıdaki satıra atlamasını istiyorum. Bunu nasıl yapabilirim?Kullandığım kodun altında;
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor=[UIColor blackColor];
CTFontRef fontRef = CTFontCreateWithName((CFStringRef)@"HelveticaNeue-Regular", 15.0f, NULL);
NSMutableParagraphStyle* paragraph = [NSMutableParagraphStyle new];
paragraph.headIndent = 10;
paragraph.firstLineHeadIndent = 10;
paragraph.tailIndent = -10;
paragraph.lineBreakMode = NSLineBreakByWordWrapping;
paragraph.alignment = NSTextAlignmentCenter;
paragraph.paragraphSpacing = 15;
NSDictionary *attrDictionary = [NSDictionary dictionaryWithObjectsAndKeys: (__bridge id)fontRef, (NSString *)kCTFontAttributeName, (id)[[UIColor whiteColor] CGColor], (NSString *)(kCTForegroundColorAttributeName),paragraph,NSParagraphStyleAttributeName, nil];
CFRelease(fontRef);
NSAttributedString *attString = [[NSAttributedString alloc] initWithString:@"Initially, now I create the paragraph style and apply it to the first character. Note how the margins are dictated: the tailIndent is negative, to bring the right margin leftward, and the firstLineHeadIndent must be set separately, as the headIndent does not automatically apply to the first line." attributes:attrDictionary];
[(CustomView *)[self view] setAttString:attString];
}
İlk sözcüğün uygun olmadığını bildiğinizden beri, her şeyi hareket ettirmek için bir paragraf sonu ile başlayın. Bunu yapmak için Metin Seti ile çizim yapabilir ve düzen yöneticisini geçersiz kılabilirsiniz (ya da tirelemesine izin verebilirsiniz). – matt