Я решаю свою проблему следующим образом:
NSMutableArray *myArray = [[NSMutableArray alloc] init];
[myArray addObject:[NSValue valueWithCGPoint:myPoint]];
Благодаря michael-jensen за решение !
Лично я бы просто жестко закодировал значения - проще, и все будет предсказуемо сломаться.
Но если бы я делал это программно, я бы создал UITableViewCell, настроил свойства редактирования / вспомогательные представления, которые вам нужно измерить, а затем спросить его, насколько велик его contentView.
Конечно, я бы, вероятно, сильно кэшировал это - выполнение выделения при запросе UITableView запрашивает информацию о высоте для меня звучит так, как будто быть медленным (хотя сначала посоветуйтесь с профилировщиком, как всегда).
У меня был бы подкласс UITableViewCell, содержащий все его подэлементы. Вы можете изменить рамку определенных элементов, когда ячейка входит и находится в режиме редактирования. Хороший пример этого приведен в руководстве Apple по программированию табличного представления в разделе о создании пользовательской ячейки табличного представления.
I believe the UITableViewCell
's contentView property is the view that contains your labels etc., so the width of that should be your available size to use.