UIScrollView не прокручивается после обновления до iOS7 / xcode 5

У меня есть приложение, которое в xcode 4.5 и ios 6.1 отлично работало при прокрутке. Однако после загрузки xcode 5 и iOS 7 мои просмотры прокрутки больше не работают. ???

Вот мой .h файл:

#import  @interface GrillretterViewController : UIViewController @property (strong, nonatomic) IBOutlet UIScrollView *grillretterScroller; @property (assign) CGPoint rememberContentOffset; @end 

И вот мой файл .m:

 #import "GrillretterViewController.h" @interface GrillretterViewController () @end @implementation GrillretterViewController @synthesize grillretterScroller, rememberContentOffset; - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super viewDidLoad]; [grillretterScroller setScrollEnabled:YES]; // Do any additional setup after loading the view. } - (void) viewDidAppear:(BOOL)animated { [grillretterScroller setContentSize:CGSizeMake(300, 915)]; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:YES]; self.grillretterScroller.contentOffset = CGPointMake(0, 0); } - (void)viewWillDisappear:(BOOL)animated { self.rememberContentOffset = self.grillretterScroller.contentOffset; [super viewWillDisappear:animated]; } - (void)viewDidLayoutSubviews { [super viewDidLayoutSubviews]; self.grillretterScroller.contentOffset = CGPointMake(0, self.rememberContentOffset.y); } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end 

Пожалуйста помоги! Я застрял!

С наилучшими пожеланиями!

Я решил это, сняв флажок «Использовать автозапуск» в панели «Инспектор файлов» основного вида в представлении «Прокрутка».

введите описание изображения здесьвведите описание изображения здесь

Если вы хотите включить функцию «Автоспуск», попробуйте «Редактор -> Повторить проблемы автоаудита -> Добавить недостающие ограничения». Ключевым ограничением является «Bottom Space to: Superview», и в моем случае было -300, что дало 300 прокруток на бета-версии.

Как упоминалось пользователем2394787:

Выберите свой controller просмотра с прокруткой, затем перейдите к

 Editor -> Resolve AutoLayout Issues -> Add Missing Contraints in [your view controller]. 

Это заставит его работать.

Я попытался проголосовать за вышеупомянутый ответ, но у меня не хватило репутации.

Я просто решил это, перейдя в Редактор> Устранение проблем автозапуска> Добавить отсутствующие ограничения в View Controller

Надеюсь это поможет.

Я просто установил «Вертикальное пространство» в значение auto constant. Может быть, это поможет в некоторых случаях.

Нажмите «Вертикальное пространство»

и установите его в инспекторе атрибутов

отметьте, что Стандарт

Надеюсь, это поможет. Спасибо.

Я не уверен, что это сработает

 - (void) viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [grillretterScroller setContentSize:CGSizeMake(self.view.bounds.size.width, 915)]; } 
 - (void)viewDidLayoutSubviews { [self performSelector:@selector(updateContentSize) withObject:nil afterDelay:0.25]; } -(void)updateContentSize{ UIView *viewLast = [viewContent viewWithTag:100]; scrollViewAd.contentSize = CGSizeMake([UIScreen mainScreen].bounds.size.width, CGRectGetMaxY(viewLast.frame)); } 

У меня не было фиксированной высоты, поэтому я установил содержимое прокрутки в коде в соответствии с моей меткой внутри scrollview

 CGSize scrollViewContentSize = CGSizeMake(320, myLabel.frame.size.height); [self.scrollView setContentSize:scrollViewContentSize]; 

При включенном автозапуске убедитесь, что между UIScrollView и его подвью используется вертикальный интервал (@ “V: | – [subview] – |”). Если ваш scrollView предназначен для горизонтальной прокрутки, примените горизонтальный интервал (@ “H: | – [subview] – |”).

У меня была такая же проблема после разработки приложения для iOS8, а затем тестирование на iOS7. Хотя я попытался установить определенные параметры в представлении прокрутки, например:

 [self.scrollView setScrollEnabled:YES]; [self.scrollView setContentSize:CGSizeMake(self.view.frame.size.width, 700)]; [self.scrollView setContentOffset:CGPointZero]; 

Решение, которое сработало для меня, заключалось в том, чтобы войти в файл раскадровки и убедиться, что у вас есть ограничения, установленные для всех видов в прокрутке. Размер содержимого представления прокрутки вычисляется ограничениями каждого поднабора в представлении прокрутки, поэтому в моем случае у меня были UIView и UITableView. После установки ограничений для UIView (верхний, верхний, конечный, высота) и UITableView (вертикальный интервал до UIView, ведущий, конечный, нижний), прокрутка отображает размер содержимого и начинает функционировать.

При выключении Auto Layout это работает, но это не идеальное решение для всех. Просто поиграйте со Storyboard и установите ограничения для всех подзонов в представлении прокрутки, чтобы установить вертикальную линию ограничений, начиная с верхней части прокрутки и снизу.

  • Как я могу перебирать все подпункты UIView, а также их подзоны и их подпрограммы
  • Получить текущего первого ответчика без использования частного API
  • Добавление неизвестного количества строк в «Статические ячейки» UITableView
  • UITextView линейчатый фон, но неправильная высота строки
  • objective-C - Когда использовать «я»,
  • всплывающее меню iPhone, как iPad popover?
  • Заголовок Swift для Objective-C, не созданный в Xcode 6
  • Как сделать естественный вид на NSArray?
  • UIImage от CALayer - iPhone SDK
  • Как resize изображения программно в объективе-c в iphone
  • как получить ip-адрес iphone программно
  • Interesting Posts

    Почему вычитание «0» в C приводит к числу, которое представляет символ?

    Полноэкранная тема для AppCompat

    Мгновенный запуск в Android Studio 2.0 (как отключить)

    В двунаправленной ассоциации JPA OneToMany / ManyToOne, что означает «обратная сторона ассоциации»?

    Путаница: как работает SQLiteOpenHelper onUpgrade ()? И вместе с импортом старой резервной копии базы данных?

    Как один интерфейс может использоваться для различных фоновых задач андроида?

    Быстрое выполнение правил Outlook по требованию?

    Получить индекс QPushButton на 2D-массиве QPushButton

    Могу ли я передать массив в качестве аргументов метода с переменными аргументами в Java?

    Entity Framework DB-First, реализовать наследование

    Я слышал, что i ++ не является streamобезопасным, is ++ i streamобезопасным?

    Может ли два приложения прослушивать один и тот же порт?

    Разность C # между == и Equals ()

    Как установить java.library.path из Eclipse

    Использование Application.DoEvents ()

    Давайте будем гением компьютера.