Reduce dot size or padding to fit all page indicators on screen with UIPageControl

只愿长相守 提交于 2020-01-12 04:31:26

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!