iPhone SDK Scroll View с отображением дополнительного пространства - PullRequest
3 голосов
/ 25 февраля 2010

У меня есть вид прокрутки, в котором у меня есть изображение, отображающее изображение 960x960, но оно прокручивается к чему-то близкому к 4x. Я попытался записать ширину всех возможных видов, и все утверждают, что это 960x960 (или меньше, я думаю, что я зарегистрировал ширину экрана один раз ...?)

Мне нужно, чтобы это изображение прекратило прокручиваться в правом нижнем углу изображения, а не входило в мертвое пространство. Любая помощь будет принята с благодарностью.

Черт возьми, даже если я скажу, какое имя объекта больше, чем мой scrollView.contentSize, я бы на правильном пути ...

//Test-Image is just a 960 by 960 image that's numbered around the edges 1-10 so you can tell if it's being moved
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Test-Image.png"]];
self.imageView = tempImageView;
[tempImageView release];

scrollView.contentSize = CGSizeMake(imageView.frame.size.width, imageView.frame.size.height);

//Tested with this, results the same.
//[scrollView setContentSize:CGSizeMake(960, 960)];

NSLog(@"What is my scrollView's height attribute?...%f", scrollView.contentSize.height);
// Returns 960
NSLog(@"What is in scrollView's width attribute?...%f", scrollView.contentSize.width);
// Returns 960

scrollView.contentOffset = CGPointMake(480, 480);

scrollView.maximumZoomScale = 8.0;
scrollView.minimumZoomScale = 0.25;
// Commenting clipsToBounds out doesn't seem to have any effect
scrollView.clipsToBounds = YES;
scrollView.delegate = self;

[scrollView addSubview:imageView];

1 Ответ

1 голос
/ 28 февраля 2010

К сожалению, у меня нет конкретного ответа.

  • Reference. Попробуйте [scrollView addSubview: self.imageView]; вместо [... addSubview: imageView];

  • Размер содержимого. Попробуйте установить размер содержимого после добавления ImageView.
    [scrollView setContentSize: CGSizeMake (imageView.frame.size.width, imageView.frame.size.height)];

  • Делегат. Использовали ли вы и задали свойство делегата для scrollview (oIWScroll.delegate = self;)?

  • вырезок. Это не должно иметь значения.

  • Рамка ScrollView. Убедитесь, что рамка прокрутки равна или меньше, чем [UIScreen mainScreen] .applicationFrame.

  • Обрамление. Когда у меня возникла ситуация, аналогичная описанной вами, одна из вещей, которые я сделал, - создать контейнер UIView, добавить его в представление прокрутки и вставить объекты в представление контейнера. Но вы действительно не должны делать это для одного изображения.
    Я также установил contentMode = UIViewContentModeTop.

Надеюсь, эти предложения помогут.

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