Прокрутка iOS не работает

Кто-нибудь, пожалуйста, помогите, я пытался разобраться в этом последние 5 часов, и я начинаю сходить с ума!

В моем представлении прокрутки у меня есть изображение вверху и текстовое поле внизу, чтобы я знал, что он работает, когда я захожу в симулятор iphone iOS 6.1, он не полностью прокручивается, он немного опустится, но не все способ. Я не использую раскадровки, пока кто-нибудь не спросит снова, и я полный идиот-самоучка, когда дело доходит до кодирования, я смотрел видео на YouTube о том, как это сделать, и я следил за ним до чая, но он все еще не работает.

viewcontroller.h #import

@interface ViewController : UIViewController {

    IBOutlet UIScrollView *scroller;

}   


@end

viewcontroller.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [scroller setScrollEnabled:YES];
    [scroller setContentSize:CGSizeMake(320,910)];
    [super viewDidLoad];

}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

person Charlotte    schedule 02.07.2013    source источник
comment
Это весь ваш исходный код?? Где вы инициализировали scroller и добавили его в представление ViewController?   -  person Khanh Nguyen    schedule 03.07.2013
comment
Создатель интерфейса, я полагаю.   -  person Joe Smith    schedule 03.07.2013
comment
Если проблема была решена, значит, пожалуйста, примите любой из следующих ответов. Новичкам будет полезно получить решение из вашего поста.   -  person Rajesh Loganathan    schedule 30.11.2013


Ответы (5)


Хорошо, это работает. Установите свой контроллер просмотра - снимите флажок Autolayout

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    [_scroller setScrollEnabled:YES];
    [_scroller setContentSize:CGSizeMake(480, 1700)];
}
person Jason    schedule 16.07.2013

В iOS 6.1 вы должны поместить код для прокрутки не в метод viewDidLoad, а в метод viewDidAppear:

-(void) viewDidAppear:(BOOL)animated
{
    [_scroller setScrollEnabled:YES];
    [_scroller setContentSize:CGSizeMake(320, 910)];
}

Он должен работать!

person Yerkezhan    schedule 05.07.2013

 (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[_scroller setScrollEnabled:YES];
[_scroller setContentSize:CGSizeMake(480, 1700)];
}

После написания этого кода ваш вид прокрутки не работает, просто выполняя эти простые шаги после написания этого кода.

  1. выберите вид прокрутки.enter code here

  2. перейдите к самой верхней опции записи на панели открытых утилит xcode.

  3. после этого вы увидите параметр автоматического изменения размера, нажмите на него и выберите и сторону.

  4. Запустите свой код, ваш код работает сейчас.

Наслаждайтесь и спасибо.

person zeeshan Dar    schedule 06.02.2017

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

- (void)viewDidLoad
{
    [super viewDidLoad];
    scroller = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
    [scroller setScrollEnabled:YES];
    [scroller setContentSize:CGSizeMake(320,910)];
    [self.view addSubView:scroller];
}

Вам нужно инициализировать скроллер, чтобы он имел видимую область (измените ширину и высоту по своему усмотрению) и с более длинным размером содержимого, тогда он будет прокручиваться.

person Rick    schedule 16.07.2013

Попробуйте этот простой код.

- (void)viewDidLoad
{     
     UIScrollView *scrollview=[[UIScrollView alloc]initWithFrame:CGRectMake(10, 10, 350, 150)];
     scrollview.showsVerticalScrollIndicator=YES;
     scrollview.scrollEnabled=YES;
     scrollview.userInteractionEnabled=YES;
     scrollview.contentSize = CGSizeMake(350,150);
     scrollview.backgroundColor = [UIColor grayColor];
     [self.view addSubview:scrollview];
     [super viewDidLoad];
}
person Rajesh Loganathan    schedule 30.11.2013