我想讓我的培訓應用程序中的UIScrollView工作。滾動本身工作正常,但如果我使用的是導航控制器,則SVC的內容區域會向下移動以獲取導航欄高度。導航控制器中的UIScrollView
青色面積的UIScrollView背景。 contentSize設置正確,只允許頁面左右滑動。這是我如何添加圖像滾動視圖
CGSize scrollViewSize = self.scrollView.frame.size;
UIImage * image = [UIImage imageWithContentsOfFile:[cachesDirectory stringByAppendingFormat:@"/%@", fileName]];
CGFloat imageOriginalWidth = image.size.width;
CGFloat imageOriginalHeight = image.size.height;
CGFloat imageOffsetX = 10;
CGFloat imageDisplayedWidth = scrollViewSize.width - (2 * imageOffsetX);
CGFloat imageDisplayedHeight = imageOriginalHeight/imageOriginalWidth * imageDisplayedWidth;
CGFloat imageOffsetY = (scrollViewSize.height - imageDisplayedHeight)/2;
CGRect viewFrame = CGRectMake(scrollViewSize.width * (filmIndex) + imageOffsetX,
imageOffsetY,
imageDisplayedWidth,
imageDisplayedHeight);
contentAreaHeight = imageDisplayedHeight;
UIImageView * view = [[UIImageView alloc] initWithFrame:viewFrame];
view.backgroundColor = [UIColor greenColor];
view.image = image;
view.contentMode = UIViewContentModeScaleAspectFit;
view.tag = filmIndex;
[self.scrollView addSubview:view];
而且我這是怎麼設置的內容的大小和偏移
self.scrollView.contentSize = CGSizeMake(scrollViewSize.width * ([self.filmsData count]),
contentAreaHeight);
self.scrollView.contentOffset = CGPointMake(scrollViewSize.width * [self.filmsData count]/2,
0);
如何有什麼錯我的代碼,並使用時,我怎樣才能得到的圖像垂直居中導航控制器?
這段代碼是從哪裏調用的?我的猜測是你在'-viewDidLoad'中這樣做。 –
@JefferyThomas你是對的,它是從'-viewDidLoad'調用的。你不是說在'-viewDidLoad''框架中沒有設置,我應該將它移動到'-viewWillAppear'? – mrvn