Сделайте UIView масштабируемым - PullRequest
0 голосов
/ 22 декабря 2010

Я использую UIScrollView на iphone и хочу иметь возможность масштабировать UIView.

мой UIView - это подпредставление ma uiscrollview.Если я возвращаю вид, когда я пытаюсь увеличить его, мой вид перемещается, но не масштабируется:

- (void)viewDidLoad {
[super viewDidLoad];

//mon label peut prendre la valeur de mon menu
[monLabel setText:monMenu];
CGRect frame = CGRectMake(1, 1, 320, 480); // Replacing with your dimensions
maVue = [[UIView alloc] initWithFrame:frame];
maVue.userInteractionEnabled = YES;
scrollView.contentSize = CGSizeMake(320, 480);
scrollView.bounces = YES;
//scrollView.bouncesZoom = YES;
scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
scrollView.scrollEnabled = YES;
//scrollView.minimumZoomScale = 1.0;
//scrollView.maximumZoomScale = 5.0;
scrollView.delegate = self;
[scrollView addSubview:maVue];

 }

 - (UIView *)viewForZoomingInScrollView:(UIScrollView
 *)scrollView{  return maVue; }

, если я заменяю свой вид меткой для примера:

 - (void)viewDidLoad {
    [super viewDidLoad];

//mon label peut prendre la valeur de mon menu
[monLabel setText:monMenu];
CGRect frame = CGRectMake(1, 1, 320, 480); // Replacing with your dimensions
maVue = [[UIView alloc] initWithFrame:frame];
maVue.userInteractionEnabled = YES;
scrollView.contentSize = CGSizeMake(320, 480);
scrollView.bounces = YES;
//scrollView.bouncesZoom = YES;
scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
scrollView.scrollEnabled = YES;
//scrollView.minimumZoomScale = 1.0;
//scrollView.maximumZoomScale = 5.0;
scrollView.delegate = self;
[scrollView addSubview:monLabel];

 }

 - (UIView *)viewForZoomingInScrollView:(UIScrollView
 *)scrollView{  return monLabel; }

зумработает хорошо.Мой ярлык увеличился.

У вас есть идеи, почему он работает для ярлыка, а не для UIView?

спасибо

У вас

1 Ответ

0 голосов
/ 22 декабря 2010

Вы реализовали scrollViewDidEndZooming:withView:atScale:? Я также заметил, что вы закомментировали код, инициализирующий minimumZoomScale и maximumZoomScale. Лучше установить это правильно.

Из справочника классов UIScrollView :

Для увеличения и панорамирования на делегат должен реализовать оба viewForZoomingInScrollView: и scrollViewDidEndZooming:withView:atScale:; кроме того, максимум (MaximumZoomScale) и минимум ( imumZoomScale) масштаб увеличения должен быть другим .

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