From 689b312e10fcf1b19ba870ac7227005eb4b57bef Mon Sep 17 00:00:00 2001 From: Alexsander Khitev Date: Sun, 13 Mar 2016 18:56:49 +0400 Subject: [PATCH] I fixed the bug which was after the device rotation and it showed a wrong image size --- SKPhotoBrowser/SKPhotoBrowser.swift | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/SKPhotoBrowser/SKPhotoBrowser.swift b/SKPhotoBrowser/SKPhotoBrowser.swift index 5f614b8..661a050 100644 --- a/SKPhotoBrowser/SKPhotoBrowser.swift +++ b/SKPhotoBrowser/SKPhotoBrowser.swift @@ -282,20 +282,22 @@ public class SKPhotoBrowser: UIViewController, UIScrollViewDelegate { isPerformingLayout = true pagingScrollView.frame = frameForPagingScrollView() pagingScrollView.contentSize = contentSizeForPagingScrollView() - + // resize frames of buttons after the device rotation frameForButton() - //If we open the SKPhotoBrowser from CollectionView not the first image, we have one element in visiblepages and we should to take 0 element from visibleindex but that we should to use frame we should use currentPageIndex for frame's functions. - // TODO: - need to fix this bug - /*if visiblePages.count > 0 { - let currentIndex = visiblePages.count - 1 - let page = visiblePages[currentIndex] - page.frame = frameForPageAtIndex(currentPageIndex) - page.setMaxMinZoomScalesForCurrentBounds() - if page.captionView != nil { - page.captionView.frame = frameForCaptionView(page.captionView, index: currentIndex) + // this algorithm resizes the current image after device rotation + if visiblePages.count > 0 { + for page in visiblePages { + let pageIndex = page.tag - pageIndexTagOffset + print(pageIndex) + let page = visiblePages[visiblePages.count-1] + page.frame = frameForPageAtIndex(currentPageIndex) + page.setMaxMinZoomScalesForCurrentBounds() + if page.captionView != nil { + page.captionView.frame = frameForCaptionView(page.captionView, index: pageIndex) + } } - }*/ - + } + pagingScrollView.contentOffset = contentOffsetForPageAtIndex(currentPageIndex) // where did start didStartViewingPageAtIndex(currentPageIndex)