【发布时间】:2014-12-23 20:03:15
【问题描述】:
你会如何用 swift 写这个?我在翻译时遇到了麻烦,因为 swift 是我的第一语言,而且都是用 Objective C 编写的。
UIScrollView * scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * 3, scrollView.frame.size.height);
scrollView.delegate = self;
UIPageControl * pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, 90, scrollView.frame.size.width, 20)];
pageControl.numberOfPages = scrollView.contentSize.width/scrollView.frame.size.width;
[pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged];
Then you need to add the following two methods:
- (IBAction)changePage:(id)sender {
CGFloat x = pageControl.currentPage * scrollView.frame.size.width;
[scrollView setContentOffset:CGPointMake(x, 0) animated:YES];
}
-(void) scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
NSInteger pageNumber = roundf(scrollView.contentOffset.x / (scrollView.frame.size.width));
pageControl.currentPage = pageNumber;
【问题讨论】:
-
你对斯威夫特了解多少?你在哪些方面苦苦挣扎?
-
好吧,我知道我想将我的 UIScrollView 与我的 PageController 连接起来,这有我需要的资源,但是我在调用 pageController 的函数时遇到了错误。比如说我有 func changePage(sender: UIPageControl){ pageControl.currentPage - 有一个错误指出没有可用的 pageControl.currentPage }
标签: swift uiscrollview uipagecontrol