问题
In my app I have UIView that flow through the use of a horizontal scrollView. To scroll the view I used the classimo method [self addChildViewController: [self.storyboard instantiateViewControllerWithIdentifier: @ "name Storyboard ID"]];
Each UIView is followed through the use of UIPageControl classic, but I do not like it and so I wanted to create something like this (see photo)
as you can see from the images above application there is a menu with a triangle pointing down, Indicating the page, passing from one topic to another user through the horizontal swipe on the scrollView
In other words, instead of having the classic shot for the management of the pages, the National Geographic has used a triangle pointing down and the title of the page on which the user is ...
Could someone help me understand how can 'be created a similar PageControl?
回答1:
There are a lot of approaches to implement this. Maybe the custom PageControl
won't be the subclass of a UIPageControl
.
For example, you can subclass a UIView
, and put a UIScrollView
in it. And then put a bunch of UIButton
s in a row into the UIScrollView
, each of them has a title that is your page's title. When you tap a button ( you can get this event by UIButton
's -addTarget:action:forControlEvents:
), you can scroll the tapped button to the right position, highlight it, and put a little triangle below it.
There are many possibilities. Say, you can replace the buttons with UILabel
and add UITapGestureRecognizer
to capture the users tap, or you can replace the UIScrollView
with UITableView
if you get a long list of pages(Of course that will introduce some complexity). You just need to pick your favorite and try it out.
来源:https://stackoverflow.com/questions/24468679/uipage-control-custom-style-natgeo