Bạn đang hỏi một câu hỏi trong chủ đề và có vẻ như một câu hỏi khác trong cơ thể. Tôi sẽ trả lời câu hỏi trong chủ đề.
Bạn có thể chỉ đơn giản là bỏ UIFont * để một CGFontRef như thế này:
UIFont *font = [UIFont fontWithName:@"Helvetica" size:10.0];
CGFontRef cgFont = (CGFontRef) font;
Tôi chưa khẳng định nếu điều này là cách chính thức để làm điều đó nhưng nó làm việc cho tôi.
Cập nhật:
Đó là một nguyên nhân hơi lạ đôi khi nó hoạt động nhưng đôi khi nó không hoạt động. Ví dụ, công trình này:
CGContextSetFont(context, (CGFontRef) font);
Nhưng điều này không:
CTFontCreateWithGraphicsFont((CGFontRef) font, 10.0, nil, nil);
Nguồn
2011-10-04 08:34:47
không tính đến kích thước phông chữ. Bạn cần phải làm điều đó bằng tay. –
Điều này cũng yêu cầu cầu nối nếu bạn đang sử dụng ARC. Sử dụng một cái gì đó như sau làm việc cho tôi: 'CGFontRef cgFont = CGFontCreateWithFontName ((__ cầu CFStringRef) uiFont.fontName);' – sammarks