如何从viewcontroller获取自绘视图中的文本

时间:2014-06-06 15:24:53

标签: ios objective-c cocoa-touch uiview uiviewcontroller

我有自己绘制的文字视图:

NSString* text = @"text";

UIFont* font = [UIFont systemFontOfSize:14.f];

NSShadow* shadow = [[NSShadow alloc] init];
shadow.shadowOffset = CGSizeMake(1, 1);
shadow.shadowColor = [UIColor whiteColor];
shadow.shadowBlurRadius = 0.5;

NSDictionary* attirbutes =
[NSDictionary dictionaryWithObjectsAndKeys:
 [UIColor grayColor],   NSForegroundColorAttributeName,
 font,                  NSFontAttributeName,
 shadow,                NSShadowAttributeName, nil];

CGSize textSize = [text sizeWithAttributes:attirbutes];

CGRect textRect = CGRectMake(0,
                             0,
                             textSize.width, textSize.height);

textRect = CGRectIntegral(textRect);

[text drawInRect:textRect withAttributes:attirbutes];

在我的ViewController中,我想从另一个类中获取它并在我的selfDrawnView中绘制它。我该怎么办呢?

1 个答案:

答案 0 :(得分:0)

不清楚你究竟在问什么。如果您使用新的视图类和重写的drawRect方法将UIView子类化,那么您需要添加一个属性来保存您正在绘制的文本。

然后在视图控制器中,您只需将文本传递给该属性,然后调用[myCustomView setNeedDisplay]强制重绘。