我有两个问题,
1)如果我有10个点(UIPageControl)并且我想直接继续任何特定点,从1开始说5而不通过2到4.我将如何做到这一点?
2)是否可以通过点自动行进,比如在2分钟之后视图会随着点的变化而没有用户交互(就像我们在广告中看到的那样)?
我知道它已经有一段时间了.但我会给出我的解决方案,仅供记录.
使用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)
| 归档时间: |
|
| 查看次数: |
3854 次 |
| 最近记录: |