我想在不使用UILabel
的情况下在屏幕上的某个位置绘制“文字”,所以我
[@"text" drawAtPoint:CGPointMake(100, 200)
withFont:[UIFont fontWithName:@"Arial" size:10.0]];
尽管drawAtPoint
的描述为:
在一行中的指定点绘制字符串 使用指定字体的当前图形上下文。
我怀疑,我的错误是我用我的UIViewController's
viewDidLoad
方法调用它,而不是放在视图上? (但是如何?)
再次,使用这种方式并避免使用UILabel,如何将文本放置在自定义位置的屏幕上?
答案 0 :(得分:2)
如果要将字符串绘制到视图中,则需要对视图进行子类化并实现drawRect方法
- (void)drawRect:(CGRect)rect
{
// Drawing code
[[UIColor whiteColor] set];
[@"Your string" drawInRect:CGRectMake(0, 0, 100, 100) withFont:[UIFont systemFontOfSize:16]];
}
没有放在视图上? (但是怎么样?)
因为当你在drawRect中调用它时,字符串将被绘制在有效的上下文中,如果你从viewDidLoad调用[@“你的字符串”drawInRec ...它不会有效,因为你没有效果上下文
再次,使用这种方式并避免使用UILabel,文本怎么样 放在自定义位置的屏幕上?
使用NSString
来自绘图而非UILabel
,您可以使用drawInRect:withFont