gpt4 book ai didi

ios6 - ScrollView 页面指示器未出现

转载 作者:行者123 更新时间:2023-12-05 00:58:32 26 4
gpt4 key购买 nike

我是 IOS 的新手,所以请帮我指导一下这个问题。

我正在处理三个 View ,它们打开由 scroll viewpagination 连接的三个不同图像。我正在使用 XIB 获取分页逻辑和 ScrollView 。

我面临两个问题:

  1. 我无法让页面指示器出现在不同 View 的屏幕上

  2. 我发现一旦到达第三个 View 就很难移动到下一个 View Controller 。

我正在关注这个 tutorial雷万德利希着。一旦用户在到达最后一页时尝试滑动到下一页,我对在哪里添加代码以移动到下一个 View Controller 感到震惊。

我的代码是这样的:

- (void)viewDidLoad {
[super viewDidLoad];


self.navigationController.navigationBarHidden =YES;
// Set up the image we want to scroll & zoom and add it to the scroll view
self.pageImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"IMAGE1.png"],
[UIImage imageNamed:@"IMAGE2.png"],
[UIImage imageNamed:@"IMAGE3.png"],
// [UIImage imageNamed:@"photo4.png"],
// [UIImage imageNamed:@"photo5.png"],
nil];

NSInteger pageCount = self.pageImages.count;

// Set up the page control
self.pageControl.currentPage = 0;
self.pageControl.numberOfPages = pageCount;

// Set up the array to hold the views for each page
self.pageViews = [[NSMutableArray alloc] init];
for (NSInteger i = 0; i < pageCount; ++i) {
[self.pageViews addObject:[NSNull null]];
}

- (void)loadVisiblePages {
// First, determine which page is currently visible
CGFloat pageWidth = self.scrollView.frame.size.width;
NSInteger page = (NSInteger)floor((self.scrollView.contentOffset.x * 2.0f + pageWidth) / (pageWidth * 2.0f));

// Update the page control
self.pageControl.currentPage = page;

NSLog(@"One %d",page);

if (page == 2) {

page = 3;

if(page == 3){
NSLog(@"Working");

SignInViewController *view = [[SignInViewController alloc]initWithNibName:@"SignInViewController" bundle:nil];
[self.navigationController pushViewController:view animated:NO];
[view release];
view=nil;
}

}

// Work out which pages we want to load
NSInteger firstPage = page - 1;
NSInteger lastPage = page + 1;

// Purge anything before the first page
for (NSInteger i=0; i<firstPage; i++) {
[self purgePage:i];
}


// Load pages in our range
for (NSInteger i=firstPage; i<=lastPage; i++) {
[self loadPage:i];


}


// Purge anything after the last page
for (NSInteger i=lastPage+1; i<self.pageImages.count; i++) {
[self purgePage:i];

}

我尝试将我的 View Controller 的行添加为:

SignInViewController *view = [[SignInViewController alloc]initWithNibName:@"SignInViewController" bundle:nil];
[self.navigationController pushViewController:view animated:NO];
[view release];
view=nil;

但这会使第三张图片消失,并在用户尝试从第二张图片滑动到第三张图片时将用户直接带到我的 SignInView Controller 页面。

我应该怎么做才能让用户看到第三张图片,然后检测到滑动并移动到下一个带有动画的 View Controller 。我尝试使用滑动动画和检测,但它对我不起作用。我需要在哪里编码以及如何编码,请帮忙!!。

最佳答案

我认为现在回复可能会晚一些,但您可能仍然感到震惊并需要帮助,那么这里是您第二个问题的解决方案:

第 2 部分的答案。->

尝试添加这段代码

if (page == 2) {

page = 3;

if(page == 3){

NSLog(@"content ofset-- %f",self.scrollView.contentOffset.x);

if (self.scrollView.contentOffset.x>=700)
{
SignIn2ViewController *view = [[SignIn2ViewController alloc]initWithNibName:@"SignIn2ViewController" bundle:nil];
[self.navigationController pushViewController:view animated:NO];
[view release];
view=nil;
}

}
}

您可以根据需要检查偏移量的值。 可能这对你有用。

并回答第 1 部分。 --> 尝试再次阅读 Ray Wanderlich 教程并检查 XIB 的设置,您可能已经跳过了一些要添加到导出或页面指示器上的信息。

希望它对你有用。

关于ios6 - ScrollView 页面指示器未出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16162322/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com