Извините за беспокойство, но я пытаюсь ленить загрузить несколько изображений, а затем изменять их пропорционально содержимому в UITableView. Я также пытаюсь (возможно, невразумительно?) Использовать Autolayout в основном в первый раз. И я не понимаю, почему ограничения в этом случае не работают. Вот код, который я использую для изменения размера UIImageView после того, как я загрузил в него правильный образ.Autolayout UIImageView с программным изменением размера не следующие ограничения
// Scale the image view and return it.
- (UIImageView *) scaleImageViewForScreenWidth:(UIImageView *)imageView {
UIImage *imgFromView = [imageView image];
CGRect newFrame = CGRectMake(0, 0, imgFromView.size.width, imgFromView.size.height);
float imgFactor = newFrame.size.height/newFrame.size.width;
newFrame.size.width = [[UIScreen mainScreen] bounds].size.width;
newFrame.size.height = newFrame.size.width * imgFactor;
[imageView setFrame:newFrame];
return imageView;
}
Что касается ограничений. Я пытаюсь прикрепить Label и UIImageView с тенью к нижней части основного изображения. Вот ограничения, которые я применяю к нижней тени в изображении. Ограничения нижней тени:
Height Equals: 83
Align Bottom to: Background Image View
LeadingSpace to: Table View Cell
Я не получаю то, что хочу. Есть идеи? Я чувствую, что сражаюсь с автозапуском.
Первое золотое правило Autolayout. Не следует смешивать ограничения с расчетами кадров. Второе золотое правило, обновить ограничения постоянной, не каркасные вида по –
@MaxMacLeod Пожалуйста, напишите ответ, и я выберу вас в качестве ответа! Это было так просто, что я просто его не замечал. – Rymnel