我有兩個問題,UIPageControl - 要去特定的點?
1)如果我有10個點(UIPageControl),並且我想直接進入任何特定的點,從1開始,而不是通過2到4來到。我該怎麼做?
2)&是否有可能通過點自動移動,就像2分鐘後視圖會隨着點的變化而沒有用戶交互(就像我們在廣告中看到的一樣)?
我有兩個問題,UIPageControl - 要去特定的點?
1)如果我有10個點(UIPageControl),並且我想直接進入任何特定的點,從1開始,而不是通過2到4來到。我該怎麼做?
2)&是否有可能通過點自動移動,就像2分鐘後視圖會隨着點的變化而沒有用戶交互(就像我們在廣告中看到的一樣)?
pageControl.currentPage = 5
是的,你需要設置一個NSTimer。
myTimer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(changeDot:) userInfo:nil repeats:YES];
編輯:
1)底層視圖是一個滾動視圖,對吧?然後你可以在代碼中設置contentOffset。
2)您可以創建一個計時器來更改contentOffset。
我知道它已經一段時間。但我會給我的解決方案,只是爲了記錄。
使用UIPageControl,我試圖通過點擊一個點來跳轉到一個頁面。 要做到這一點,在UIPageControl子我增添了一抹處理程序:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
和相知點的大小,計算出被貼點的指數 - >頁面。 由於增加了觸摸處理程序,選擇到UIControlEventValueChanged
採空工作,所以只要致電: - (void)sendActionsForControlEvents:(UIControlEvents)controlEvents
檢查here
沒有什麼難的,它是這樣結束:
- (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];
}
的NSTimer代碼不工作..我應該在哪裏寫下它? – sameet 2011-05-26 10:01:25
不工作是什麼意思?你有沒有實現changeDot方法?你是否宣佈計時器?你開火nstimer了嗎? – 2011-05-26 10:06:18