UIScrollView and Page Control for Images. Images not scaling to device size.
I'm having trouble getting my images to scale to different size devices. Using page control I am trying to create something like a horizontal scrolling photo album. I'm pretty certain I'm not setting the width and height right for my UIScrollView because the images and will only come out to the width and height of UIscrollView in my storyboard. The UIscrollView has no constraints in the storyboard because it needs dynamic and conform to the number of images.
This is an example of how it should look on all devices. This is on the iPhone 8 Plus
This is what happens on the iPad 12.9 inch. The concern is the image not going the full width of the screen and scaling the height and the page control dots which need to be in the center
Here is the code I have for what I am trying to do:
@IBOutlet weak var imageScrollView: UIScrollView!
@IBOutlet weak var pageControl: UIPageControl!
// Create array to hold images and frame for the images
var buildingImages: [String] =
var frame = CGRect(x: 0, y: 0, width: 0, height: 0)
// Get index for the number of pages for page control
pageControl.numberOfPages=buildingImages.count
for index in 0..<buildingImages.count
let xPosition=self.view.frame.width * CGFloat(index)
frame.origin.x=xPosition
frame.size=imageScrollView.frame.size
// Initialize an image view and set it to an image, add image on top of scroll view
let buildingImageView=UIImageView(frame: frame)
buildingImageView.image=UIImage(named: buildingImages[index])
buildingImageView.pin_setImage(from: URL(string: buildingImages[index]))
self.imageScrollView.addSubview(buildingImageView)
/*
Set up content size of scroll view (get size of scroll view by
the amount of images in the scroll view
*/
imageScrollView.contentSize=CGSize(width: (imageScrollView.frame.size.width*CGFloat(buildingImages.count)), height: imageScrollView.frame.size.height)
imageScrollView.delegate=self
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView)
var pageNumber = scrollView.contentOffset.x/scrollView.frame.size.width
pageControl.currentPage=Int(pageNumber)
xcode uiscrollview uiimage swift4 uipagecontrol
add a comment |
I'm having trouble getting my images to scale to different size devices. Using page control I am trying to create something like a horizontal scrolling photo album. I'm pretty certain I'm not setting the width and height right for my UIScrollView because the images and will only come out to the width and height of UIscrollView in my storyboard. The UIscrollView has no constraints in the storyboard because it needs dynamic and conform to the number of images.
This is an example of how it should look on all devices. This is on the iPhone 8 Plus
This is what happens on the iPad 12.9 inch. The concern is the image not going the full width of the screen and scaling the height and the page control dots which need to be in the center
Here is the code I have for what I am trying to do:
@IBOutlet weak var imageScrollView: UIScrollView!
@IBOutlet weak var pageControl: UIPageControl!
// Create array to hold images and frame for the images
var buildingImages: [String] =
var frame = CGRect(x: 0, y: 0, width: 0, height: 0)
// Get index for the number of pages for page control
pageControl.numberOfPages=buildingImages.count
for index in 0..<buildingImages.count
let xPosition=self.view.frame.width * CGFloat(index)
frame.origin.x=xPosition
frame.size=imageScrollView.frame.size
// Initialize an image view and set it to an image, add image on top of scroll view
let buildingImageView=UIImageView(frame: frame)
buildingImageView.image=UIImage(named: buildingImages[index])
buildingImageView.pin_setImage(from: URL(string: buildingImages[index]))
self.imageScrollView.addSubview(buildingImageView)
/*
Set up content size of scroll view (get size of scroll view by
the amount of images in the scroll view
*/
imageScrollView.contentSize=CGSize(width: (imageScrollView.frame.size.width*CGFloat(buildingImages.count)), height: imageScrollView.frame.size.height)
imageScrollView.delegate=self
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView)
var pageNumber = scrollView.contentOffset.x/scrollView.frame.size.width
pageControl.currentPage=Int(pageNumber)
xcode uiscrollview uiimage swift4 uipagecontrol
add a comment |
I'm having trouble getting my images to scale to different size devices. Using page control I am trying to create something like a horizontal scrolling photo album. I'm pretty certain I'm not setting the width and height right for my UIScrollView because the images and will only come out to the width and height of UIscrollView in my storyboard. The UIscrollView has no constraints in the storyboard because it needs dynamic and conform to the number of images.
This is an example of how it should look on all devices. This is on the iPhone 8 Plus
This is what happens on the iPad 12.9 inch. The concern is the image not going the full width of the screen and scaling the height and the page control dots which need to be in the center
Here is the code I have for what I am trying to do:
@IBOutlet weak var imageScrollView: UIScrollView!
@IBOutlet weak var pageControl: UIPageControl!
// Create array to hold images and frame for the images
var buildingImages: [String] =
var frame = CGRect(x: 0, y: 0, width: 0, height: 0)
// Get index for the number of pages for page control
pageControl.numberOfPages=buildingImages.count
for index in 0..<buildingImages.count
let xPosition=self.view.frame.width * CGFloat(index)
frame.origin.x=xPosition
frame.size=imageScrollView.frame.size
// Initialize an image view and set it to an image, add image on top of scroll view
let buildingImageView=UIImageView(frame: frame)
buildingImageView.image=UIImage(named: buildingImages[index])
buildingImageView.pin_setImage(from: URL(string: buildingImages[index]))
self.imageScrollView.addSubview(buildingImageView)
/*
Set up content size of scroll view (get size of scroll view by
the amount of images in the scroll view
*/
imageScrollView.contentSize=CGSize(width: (imageScrollView.frame.size.width*CGFloat(buildingImages.count)), height: imageScrollView.frame.size.height)
imageScrollView.delegate=self
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView)
var pageNumber = scrollView.contentOffset.x/scrollView.frame.size.width
pageControl.currentPage=Int(pageNumber)
xcode uiscrollview uiimage swift4 uipagecontrol
I'm having trouble getting my images to scale to different size devices. Using page control I am trying to create something like a horizontal scrolling photo album. I'm pretty certain I'm not setting the width and height right for my UIScrollView because the images and will only come out to the width and height of UIscrollView in my storyboard. The UIscrollView has no constraints in the storyboard because it needs dynamic and conform to the number of images.
This is an example of how it should look on all devices. This is on the iPhone 8 Plus
This is what happens on the iPad 12.9 inch. The concern is the image not going the full width of the screen and scaling the height and the page control dots which need to be in the center
Here is the code I have for what I am trying to do:
@IBOutlet weak var imageScrollView: UIScrollView!
@IBOutlet weak var pageControl: UIPageControl!
// Create array to hold images and frame for the images
var buildingImages: [String] =
var frame = CGRect(x: 0, y: 0, width: 0, height: 0)
// Get index for the number of pages for page control
pageControl.numberOfPages=buildingImages.count
for index in 0..<buildingImages.count
let xPosition=self.view.frame.width * CGFloat(index)
frame.origin.x=xPosition
frame.size=imageScrollView.frame.size
// Initialize an image view and set it to an image, add image on top of scroll view
let buildingImageView=UIImageView(frame: frame)
buildingImageView.image=UIImage(named: buildingImages[index])
buildingImageView.pin_setImage(from: URL(string: buildingImages[index]))
self.imageScrollView.addSubview(buildingImageView)
/*
Set up content size of scroll view (get size of scroll view by
the amount of images in the scroll view
*/
imageScrollView.contentSize=CGSize(width: (imageScrollView.frame.size.width*CGFloat(buildingImages.count)), height: imageScrollView.frame.size.height)
imageScrollView.delegate=self
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView)
var pageNumber = scrollView.contentOffset.x/scrollView.frame.size.width
pageControl.currentPage=Int(pageNumber)
xcode uiscrollview uiimage swift4 uipagecontrol
xcode uiscrollview uiimage swift4 uipagecontrol
asked Nov 13 '18 at 22:44
Noah VongphitNoah Vongphit
11
11
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53290635%2fuiscrollview-and-page-control-for-images-images-not-scaling-to-device-size%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53290635%2fuiscrollview-and-page-control-for-images-images-not-scaling-to-device-size%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown