问题
I have a UIPageControl
that has 22 pages, therefore 22 page indicator dots. In landscape on iPhone they're all visible with plenty of space on the left and right, but in portrait there's not enough horizontal space to display all of the dots (at least on iPhone 4 and 5), so two aren't visible and the outer two are cut in half.
I am looking for a way to reduce the size of the dots or reduce the amount of padding between the dots to ensure all dots fit on screen in portrait. How can that be accomplished?
回答1:
If you have that many dots, I would seriously consider a different control. But if you want to stick to UIPageControl, I would just scale it down to fit on screen, with something like:
pageControl.transform = CGAffineTransformMakeScale(0.7, 0.7);
This scales it down to 70% of its initial size - I leave it to you to determine the best scale for your screen size/number of pages.
回答2:
Swift 3 version code: based on pbasdf answer.
pageControl.transform = CGAffineTransform(scaleX: 0.7, y: 0.7)
回答3:
You should really not use a UIPageControl for something that has 22 pages. How about trying something like a label that returns a number instead. Will make you app look a lot cleaner.
Although if you REALLY want to use the pageControl, pbasdf's answer is spot on. pageControl.transform = CGAffineTransformMakeScale(0.8, 0.8) should do the trick.
来源:https://stackoverflow.com/questions/26820458/reduce-dot-size-or-padding-to-fit-all-page-indicators-on-screen-with-uipagecontr