我想在屏幕上的某些位置绘制“文本”而不使用UILabel
,所以我
[@"text" drawAtPoint:CGPointMake(100, 200)
withFont:[UIFont fontWithName:@"Arial" size:10.0]];
尽管
drawAtPoint
的描述为:在指定位置的单点画线
当前图形上下文使用指定的字体。
我怀疑,我的错误是我是在
UIViewController's
viewDidLoad
方法中调用它的,而不是放在视图上? (但是如何?)同样,使用这种方法并避免使用UILabel,如何将文本放置在屏幕上的自定义位置?
最佳答案
如果要向视图绘制字符串,则需要对视图进行子类化并实现drawRect方法
- (void)drawRect:(CGRect)rect
{
// Drawing code
[[UIColor whiteColor] set];
[@"Your string" drawInRect:CGRectMake(0, 0, 100, 100) withFont:[UIFont systemFontOfSize:16]];
}
不放在视图上? (但是如何?)
这是因为该字符串将在当前在drawRect中调用时有效的当前上下文中绘制,如果您从viewDidLoad调用[@“ Your string” drawInRec ...,它将无法工作,因为您没有有效的上下文
同样,使用这种方式并避免使用UILabel,如何将文本
放在屏幕上的自定义位置?
使用
NSString
而不是UILabel
绘图,并且可以使用drawInRect:withFont
关于objective-c - drawAtPoint,需要澄清,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11064872/