Невозможно изменить фрейм UIImageView в пользовательской ячейке таблицы - PullRequest
3 голосов
/ 01 января 2011

У меня есть пользовательская ячейка таблицы. В него я положил (через IB) просмотр изображения определенного кадра

В 'cellForRowAtIndexPath' при определенных условиях я хотел бы изменить фрейм этого UIImageView, поэтому я пишу что-то вроде:

UIImageView *imgv = (UIImageView *)[cell viewWithTag:1];
CGRect r = CGRectMake(20.0, 20.0, 10.0, 10.0);
imgv.frame = r;

Но ничего ожидаемого не происходит (рамка немного сдвигается, хотя и не туда, куда я хочу, но не меняет свой размер вообще);

1 Ответ

0 голосов
/ 01 января 2011

При изменении его размера необходимо настроить свойство для масштабирования его содержимого. Поскольку вы не можете сделать это в конструкторе интерфейсов, вы должны сделать это в своем коде:

imgv.contentMode = UIViewContentModeScaleAspectFit;

Попробуйте это:

UIImageView *imgv = (UIImageView *)[cell viewWithTag:1];
imgv.contentMode = UIViewContentModeScaleAspectFit;
CGRect r = CGRectMake(20.0, 20.0, 10.0, 10.0);
imgv.frame = r;

Насчет позиции, я не уверен, почему она не работает. Можете ли вы подтвердить, что все еще не работает?

...