 		ignoresScrollViewDidScroll += 1
 		defer { ignoresScrollViewDidScroll -= 1 }
 
-		let viewSize = view.bounds.size
-		let contentSize = CGSize(width: CGFloat(viewControllers.count) * viewSize.width, height: viewSize.height)
+		let scrollViewFrame = CGRect(size: view.bounds.size).insetBy(scrollViewInsets)
+		let contentSize = CGSize(width: CGFloat(viewControllers.count) * scrollViewFrame.width, height: scrollViewFrame.height)
 
 		let contentOffset = scrollView.contentOffset
-		scrollView.frame = CGRect(size: viewSize)
+		scrollView.frame = scrollViewFrame
 		childContainer.frame = CGRect(size: contentSize)
 		scrollView.contentSize = contentSize
 		scrollView.contentOffset = contentOffset


		let visibleIndexes: CountableRange<Int>

		if viewControllers.isEmpty || bounds.isEmpty {
			visibleIndexes = 0 ..< 0
		}
		else {
			let floatingIndex = contentOffset.left / bounds.width
			visibleIndexes = Int(floatingIndex.rounded(.down)).coerced(in: 0 ... (viewControllers.count - 1)) ..< (Int(floatingIndex.rounded(.up)).coerced(in: 0 ... (viewControllers.count - 1)) + 1)
		}

		for subview in childContainer.subviews {

			return
		}

		let containerSize = scrollView.bounds.size

		var childViewFrame = CGRect()
		childViewFrame.left = CGFloat(childView.index) * containerSize.width
		childViewFrame.size = containerSize
		childView.frame = childViewFrame
	}

