我想从任何像素开始向iPad屏幕写一个字符。我遇到的问题是确定最后一个字符的宽度,以便我可以定位下一个字符。这是我的代码。
NSString *mathText = @"#h23#D45 73#";
//const char *mathTextStr = "#F23#D45 73#";
UIFont * font = [UIFont fontWithName:@"Times" size:15];
CGContextSetTextPosition( myContext, 100, 100 );
for (int i = 0; i < mathText.length; i++) {
len = 1;
NSString *subString = [mathText substringWithRange:NSMakeRange(i, 1)];
const char *oneChar = [subString UTF8String];
//CGContextShowTextAtPoint(myContext, x, y,oneChar , 1);
CGContextShowText(myContext, oneChar, 1);
CGSize charWidth = [subString sizeWithFont:font];
x=x+charWidth.width+3;
NSLog(@"x coordinate = %f", x);
CGContextSetTextPosition( myContext, x, y );
}
问题是字符似乎与CGSize charWidth。
任何帮助表示赞赏。 感谢。
答案 0 :(得分:0)
使用此功能为UILabel创建一个类别:
-(CGSize)expectedLabelSize{
return [self.text sizeWithFont:self.font
constrainedToSize:self.frame.size
lineBreakMode:self.lineBreakMode];
}
称之为:[myLabel expectedLabelSize];