JIT-компиляция была изобретена в конце 1980-х.
Вам понадобится собственный подкласс UITableViewCell
, который переопределяет layoutSubviews для выполнения грязной работы по размещению любых вложенных представлений, которые там есть. Вызвать super и затем настроить detailTextLabel.frame
, вероятно, проще всего.
Вероятно, вы могли бы сделать это с помощью CGAffineTransform
. (Непроверенный) код для перемещения detailTextLabel
вправо на 10 пикселей будет выглядеть примерно так:
CGAffineTransform translate = CGAffineTransformMakeTranslation(10.0, 0.0);
[detailTextLabel setTransform:translate];
Хотя вы можете это сделать, я думаю, вы будете счастливее, создав свой собственный UITableViewCell
.
Или вы можете изменить ячейку с UITableViewCellStyleSubtitle на значение по умолчанию и добавить свои собственные объекты в cell.contentView и разместить их там, где вы хотите. Вам не обязательно создавать подкласс UITableViewCell (например, настраиваемую ячейку) или использовать layoutSubViews. Все это можно сделать в tableView: cellForRowAtIndexPath.