Чтобы нарисовать UILabel, просто создайте и добавьте UILabel в contentView ячеек в методе - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
.
Нет необходимости звонить drawTextInRect:
напрямую. Это следует использовать только при создании подкласса ячейки UILabel и перезаписи этого метода альтернативной реализацией. Вызов метода напрямую, как в вашем коде, вызывает эти ошибки, потому что система не настроила графический контекст для рисования.
РЕДАКТИРОВАТЬ Обновление с указанием образца:
Если вы хотите нарисовать ячейку таблицы самостоятельно, проверьте TableViewSuite , предоставленный Apple. Там вы найдете 5_CustomTableViewCell / Classes / TimeZoneView, который используется как подпредставление содержимого для 5_CustomTableViewCell / Classes / TimeZoneCell. TimeZoneView показывает, как нарисовать ваш пользовательский текст непосредственно в представление без использования UILabel.