UIPageControl - 要去特定的点吗?

sam*_*eet 1 iphone

我有两个问题,

1)如果我有10个点(UIPageControl)并且我想直接继续任何特定点,从1开始说5而不通过2到4.我将如何做到这一点?

2)是否可以通过点自动行进,比如在2分钟之后视图会随着点的变化而没有用户交互(就像我们在广告中看到的那样)?

Fra*_*ade 5

我知道它已经有一段时间了.但我会给出我的解决方案,仅供记录.

使用UIPageControl,我试图通过点击一个点来跳转到页面.为此,在UIPageControl子类中添加了一个触摸处理程序:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

并且通过了解每个点的大小,计算录制的点的索引 - >页面.添加了触摸处理程序,UIControlEventValueChangedstolin工作的选择器,所以只需调用: 在此处- (void)sendActionsForControlEvents:(UIControlEvents)controlEvents检查它

没有什么困难,它最终得到这样的东西:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    CGPoint touchPoint = [[touches anyObject] locationInView:self];
    float dotSize = self.bounds.size.width / (self.numberOfPages + 2);
    int jumpToPage = (int)touchPoint.x / dotSize;
    self.currentPage = jumpToPage;
    [self sendActionsForControlEvents:UIControlEventValueChanged];
}
Run Code Online (Sandbox Code Playgroud)