2013-12-09 1 views
0

У меня есть приложение, предназначенное для запуска в ландшафтном режиме, все это прекрасно работает. Я добавляю изображение, чтобы покрыть экран, а затем добавьте прокрутку вниз на полпути вниз. Снова все работает нормально.UIViewcontroller сохраняет портретные координаты, когда в ландшафтном режиме

Затем я добавляю серию uiimageviews снова все отлично. Я замечаю, что если я попытаюсь щелкнуть по далекому правому изображению, нет ответа, но другие изображения, предшествующие этой работе, прекрасны. С большим количеством рытья вокруг я обнаружил, что viewcontroller сохраняет портретные координаты. У меня есть табуляция внизу, когда я нажимаю, чтобы перейти к другому виду, а затем вернусь к основному виду, в котором далекое право uiimageview не работает. Кто-нибудь видел это раньше? Я предполагаю, что представление перерисовывается, когда оно возвращается?

ответ

0

Вы должны использовать свойство .bounds вместо свойства .frame представления. Оценки - это система координат UIVIew. Это хорошо объясняется в этом ответе: https://stackoverflow.com/a/8181113/402223

0

Смотрите эту статью, в которой ответил на мой вопрос here

- (void)viewDidLayoutSubviews 
{ 
    // fix for iOS7 bug in UITabBarController 
    self.selectedViewController.view.superview.frame = self.view.bounds; 
} 

примечание не добавляйте его viewdidload метод.

Спасибо Martijn, что вы положили меня на правильный путь.