У меня есть этот контроллер представления с помощью следующей иерархии: Bad UIScrollView поведение авторотации
Я просто пытаюсь загрузить фотографию и быть в состоянии прокрутить его и увеличить его & авторотацией его. Все работает хорошо, за исключением того, что я получаю плохое поведение при авторотации. Я установил родительский UINavigationController для разрешения вращения (путем подкласса и overridng «shouldautororate ..»), и теперь я поворачиваю свое окно, но комбинация прокрутки/изображения просто не заполняет экран по мере необходимости (на ландшафте это будет разрезать на ширину 320p). Стойки и пружины установлены правильно. пытаясь возиться с прокруткой/imageview.autoresizesSubviews = YES - но это не поможет.
дополнительно я должен сделать некоторые «некрасивые» вещи, как:
CGPoint cntr;// = {self.view.bounds.size.width/2, self.view.bounds.size.height/2};
if ([self interfaceOrientation] == UIInterfaceOrientationPortrait)
{
cntr.x = (self.view.bounds.size.width/2);
cntr.y = (self.view.bounds.size.height/2);
}
else
{
cntr.y = (self.view.bounds.size.width/2);
cntr.x = (self.view.bounds.size.height/2);
}
[spinner setCenter:cntr];
[self.imageView addSubview:spinner];
потому что self.view.bounds не будет обновляться, чтобы представить новый размер альбомной ориентации (всегда возвращает Portait размеры). Должно быть что-то более элегантное.
Что я здесь делаю неправильно?
ОК, я получаю это: ' scroll view =; contentOffset: {0, 0}> scroll view superiew autoresizesSubviews = 1 ' так что no autoresize = W + H для меня ... Вещи [self] - это Viewcontroller, который содержит view-> scrollview-> imageview , Образ/scrollview - это IBOutlets в контроллере view и являются классами по умолчанию. Вы говорите, что я должен подклассировать их обоих? или добавить категорию в файл h для изменения их 'willAnimateRotationToInterfaceOrientation: duration:' ... Я потерян. –
mindbomb
Нельзя добавлять категорию. Вы должны установить маску autoresizingMask в режиме прокрутки. Возможно, у вас не было правильного вида, выбранного в наконечнике, когда вы считали, что устанавливаете флаги. Вы можете попробовать установить их в 'viewDidLoad'. –