Легко отобразить одну метку с полностью одним и тем же текстом, но что происходит, когда вы хотите отобразить одно слово жирным шрифтом?Как вы можете смело только одно слово в UILabel?
Пример:
Все ваши базы являются принадлежат нам.
Легко отобразить одну метку с полностью одним и тем же текстом, но что происходит, когда вы хотите отобразить одно слово жирным шрифтом?Как вы можете смело только одно слово в UILabel?
Пример:
Все ваши базы являются принадлежат нам.
UILabel
сам по себе не может нарисовать метку с различными атрибутами/шрифтами в тексте. Но Core Text может. Вы можете создать подкласс UILabel
, который обертывает связанную строку и использует Core Text для ее рисования. Вы можете обрабатывать рисунок как в this sample code от руководства Текстого программирования ядра:
// Build up your attributed string, then...
CTLineRef line = CTLineCreateWithAttributedString(attrString);
// Set text position and draw the line into the graphics context
CGContextSetTextPosition(context, 10.0, 10.0);
CTLineDraw(line, context);
CFRelease(line);
К сожалению, в настоящее время это невозможно. Однако вы могли бы использовать подкласс UILabel и включать эту функциональность.
Другая возможность - использовать UIWebView, но для этого требуется использовать теги HTML и метод loadHTML :.
Как писал Эван Mulawski, UILabel не получите, что вы хотите. В этом случае ни UITextField, ни UITextView.
Другим подходом будет подкласс UIView и написать метод -drawRect:, который делает то, что вы хотите. Вы можете посмотреть на
Если вы не будете требовать много разрывов строк и упаковки, то вы, вероятно, могли бы совершить что-то довольно легко.
UIWebView, вероятно, будет быстрее, но, похоже, много накладных расходов для чего-то простого, как стилизованная этикетка.
Я думаю, что это то, что вы ищете http://stackoverflow.com/questions/3586871/bold-non-bold-text-in-a-single-uilabel – Abhigyan