Hallo Ich arbeite mit der neuen TextKit
API für iOS7 und ich versuche, eine UITextView
mit einer unregelmäßigen Form zu produzieren. Bisher habe ich in einer View-Controller haben:Beispiel für NSTextContainer mit nicht regulärer Form?
-(void) loadView
{
self.view = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,548)];
NSTextStorage *textStorage = [[NSTextStorage alloc] init];
NSLayoutManager *layoutManager = [[NSLayoutManager alloc] init];
[textStorage addLayoutManager: layoutManager];
BaseTextContainer *textContainer = [[BaseTextContainer alloc] initWithSize:CGSizeMake(100, 100)];
[layoutManager addTextContainer: textContainer];
BaseTextView *textView = [[BaseTextView alloc] initWithFrame:CGRectMake(110,124, 100, 100) textContainer:textContainer];
textView.backgroundColor = [UIColor blueColor];
textView.editable = YES;
[self.view addSubview:textView];
}
Da ist in meinem subclassed NSTextContainer
, ich möchte eine mutablePath
wie die Form des Textes Behälter gezogen haben, aber nicht sicher, wie dies zu erreichen. Ich habe:
- (BOOL) isSimpleRectangularTextContainer
{
return NO;
}
- (void) drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
{
NSLog(@"TEST");
CGContextRef context = ctx;
CGSize layerSize = layer.frame.size;
CGAffineTransform transform = CGAffineTransformMakeScale(layerSize.width/self.initialSize.width, layerSize.height/self.initialSize.height);
CGMutablePathRef newGraphicMutablePath = CGPathCreateMutableCopyByTransformingPath(self.mutablePath, &transform);
CGContextAddPath(context, newGraphicMutablePath);
CGPathRelease(newGraphicMutablePath);
CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
CGContextDrawPath(context, kCGPathFill);
}
Nur ein bisschen verwirrt darüber, wie man das zur Arbeit bringt. Ich kann nirgends ein Beispiel einer NSTextContainer
mit einer unregelmäßigen Form finden.
Was ist unregelmäßig, die Ränder des Textes oder der Rahmen um sie gezogen? Zum Beispiel habe ich ein Beispiel geschrieben, bei dem der Text durch einen kreisförmigen Rand begrenzt ist. Meinst Du das? – matt
@matt - Ich versuche, etwas Text in eine ovale Form zu bekommen, ähnlich einem Wortballon. –
Dann empfehle ich anstelle einer Textansicht, Text Kit zu verwenden, um den Text direkt zu zeichnen. – matt