【发布时间】:2011-01-14 21:33:19
【问题描述】:
我即将创建一个应用程序。
它应该有 3 个主要页面。所以我想用 PageControl 来实现这一点。
我创建了 3 个视图,现在我被困在这个 PageControl 的实现上。
有没有人可以看的好教程或示例代码(也可以是德语)?
谢谢, 迈克尔
【问题讨论】:
-
抱歉,之前没看到这个问题:-/
标签: iphone uiview uipagecontrol
我即将创建一个应用程序。
它应该有 3 个主要页面。所以我想用 PageControl 来实现这一点。
我创建了 3 个视图,现在我被困在这个 PageControl 的实现上。
有没有人可以看的好教程或示例代码(也可以是德语)?
谢谢, 迈克尔
【问题讨论】:
标签: iphone uiview uipagecontrol
这里有一个简单的使用方法。
PageController.h:
#import <UIKit/UIKit.h>
@interface PageController : UIViewController {
NSArray * views;
UIPageControl *pageControl;
}
@property (nonatomic, retain) IBOutlet UIPageControl * pageControl;
- (IBAction) changePage:(id)sender;
- (void) animateToView:(UIView *)newView;
@end
PageController.m:
#import "PageController.h"
@implementation PageController
- (void)viewDidLoad {
[super viewDidLoad];
pageControl.numberOfPages = [views count];
pageControl.currentPage = 0;
// Either wire this up in Interface Builder or do it here.
[pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged];
}
- (IBAction) changePage:(id)sender {
UIView * newView = [views objectAtIndex:[pageControl currentPage]];
[self animateToView:newView];
}
- (void) animateToView:(UIView *)newView {
// You'd have to implement this yourself
}
@end
【讨论】:
#import "ViewController.h" @implementation ViewController @synthesize pageControl; - (void)viewDidLoad { [super viewDidLoad]; //Create UIViews UIView *view1 = [[UIView alloc] init]; UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image1.jpg"]]; [view1 addSubview:imageView]; //ditto for image 2 [self.view addSubview:view1]; views = [[NSArray alloc] initWithObjects:view1, view2, nil]; pageControl.numberOfPages = [views count]; pageControl.currentPage = 0; } @end