UIScrollView "назад к оригинальному размеру" - PullRequest
0 голосов
/ 03 сентября 2010

У меня есть UIScrollView, в который встроен UIView.Она прокручивается снизу вверх по кнопке, кнопка находится в другом виде.Когда он прокручивается вверх, он частично покрывает вызывающий вид, т.е. вид, на котором расположена кнопка.Теперь у меня есть еще одна кнопка, которая должна толкать этот вид прокрутки вниз.Кажется, эта кнопка не работает.Я разместил весь код.Пожалуйста, помогите !!

-(IBAction)unscrollClicked:(id)sender
{
 //[viewController.view removeFromSuperview]; 
 [UIView beginAnimations:@"back to original size" context:nil];

 scrollView.contentSize=viewController.view.bounds.size;


 //scrollView.contentSize=viewController.view.bounds.size;
 [UIView commitAnimations];

}

-(IBAction)scrollClicked:(id)sender

{

 //viewController.view.backgroundColor=[UIColor orangeColor];
 viewController.view.frame=CGRectMake(0, 410, 320, 460);

 //[self.view addSubview:viewController.view];

 UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0,40, 320, 400)];//(0,0,320,160)
 scrollView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;

 //[MyView setFrame:CGRectMake (0, 0, 320, 170)];
 viewController.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
 scrollView.contentSize = viewController.view.bounds.size;


 scrollView.bounces = YES;
 scrollView.bouncesZoom = YES;
 scrollView.scrollEnabled = YES;
 scrollView.minimumZoomScale = 0.5;
 scrollView.maximumZoomScale = 5.0;
 scrollView.delegate = self;

 [scrollView addSubview: viewController.view];


 [self.view addSubview:scrollView];
 [self moveScrollView:scrollView];
}

-(void) moveScrollView:(UIScrollView *)scrollView

{

 CGFloat scrollamount=400;



 [scrollView setContentOffset:CGPointMake(0,scrollamount) animated:YES];
}

Ответы [ 2 ]

0 голосов
/ 11 октября 2012

Я думаю, вы должны изменить свой метод перемещения.Как таковой, он показывает контент в фиксированном начале (высота 400), но после одного вызова он не должен ничего делать, так как contentOffset уже в 400. Попробуйте это:

-(void) moveScrollView:(UIScrollView *)scrollView upwards:(BOOL)up {
     CGFloat scrollamount=400;

if ( up)
    [scrollView setContentOffset:CGPointMake(0,scrollamount) animated:YES];
else
    [scrollView setContentOffset:CGPointMake(0,0) animated:YES];
}

И вызовите так:

[self moveScrollView:scrollView upwards:YES]; // or NO for moving down
0 голосов
/ 03 сентября 2010

Попробуйте использовать метод zoomToRect.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...