我在使用pagecontrol和UIScrollView自定义每个页面时遇到问题。 我正在从Apple定制Page Control。
基本上我希望每个页面在不同的页面上交替显示文本和图像。第1页将包含所有文本,第2页将包含所有文本,第3页将包含所有文本并继续。
这是原始代码:
// Set the label and background color when the view has finished loading.
- (void)viewDidLoad {
pageNumberLabel.text = [NSString stringWithFormat:@"Page %d", pageNumber + 1];
self.view.backgroundColor = [MyViewController pageControlColorWithIndex:pageNumber];
}
正如您所看到的,当您向右滚动时,此代码仅显示第1页,第2页等。
我试图加入这个新代码,但这没有任何区别。没有错误。 我知道这是非常简单的代码。我不知道为什么它不起作用。
我将pageText声明为UILabel。
// Set the label and background color when the view has finished loading.
- (void)viewDidLoad {
pageNumberLabel.text = [NSString stringWithFormat:@"Page %d", pageNumber + 1];
self.view.backgroundColor = [MyViewController pageControlColorWithIndex:pageNumber];
if (pageNumber == 1) {
pageText.text = @"Text in page 1";
}
if (pageNumber == 2) {
pageText.text = @"Image in page 2";
}
if (pageNumber == 3) {
pageText.text = @"Text in page 3";
}
}
我不知道为什么它不起作用。如果你有更好的方法,请告诉我。感谢。
答案 0 :(得分:0)
我下载了示例,将以下行添加到MyViewController.h
IBOutlet UILabel *pageText;
@property (nonatomic, retain) UILabel *pageText;
在MyViewController.m中我添加了@synthesize pageText; line和viewDidLoad内容。
我在界面构建器中打开了MyView.xib / en文件并连接了新标签。编译并运行,它在大多数情况下都有效。唯一看起来不对的是它背后的页面。所以我把它改写成恰当地处理奇数或偶数页面。
- (void)viewDidLoad {
pageNumberLabel.text = [NSString stringWithFormat:@"Page %d", pageNumber + 1];
self.view.backgroundColor = [MyViewController pageControlColorWithIndex:pageNumber];
if (pageNumber % 2) {
pageText.text = [NSString stringWithFormat:@"Image in page %d", pageNumber + 1];
} else {
pageText.text = [NSString stringWithFormat:@"Text in page %d", pageNumber +1];
}
}
答案 1 :(得分:0)
这个答案的代码很少,因为我没有明显的例子。您基本上希望拥有一些页面数组,其中包含每个页面的视图(或视图控制器)。阵列中的每个视图/控制器都没有必要相同(尽管您应该拥有所有视图或所有视图控制器,而不是两者)。完成后,您可以根据要加载的页面加载不同的内容。
这有意义吗?
答案 2 :(得分:0)
尝试从SVN repo下载此项目。我一直无法完成文档,但查看了IGUIScrollViewElements ...有一个IGUIScrollViewImage的简短示例,代码非常相似......我会尽力完成余下的示例... < / p>