如何在iOS中为UIScrollView
UIImageView
添加页面控件。如果我选择了某些页面控制项目符号,则表示我想移动所选图像。如果我移动图像意味着我的pagecontrol项目符号也想要移动到UIScrollView
。
- (void)viewDidLoad
{
NSLog(@"Welcome to Home Page");
[super viewDidLoad];
// self.view.backgroundColor=[[UIColor alloc]initWithPatternImage:[UIImage imageNamed:@"bg-image.png"]];
UIImage * img = [UIImage imageNamed:@"bg-image.png"];
[scrollView setBackgroundColor:[UIColor colorWithPatternImage:img]];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)loadView {
CGRect fullScreenRect=[[UIScreen mainScreen] applicationFrame];
scrollView=[[UIScrollView alloc] initWithFrame:fullScreenRect];
scrollView.contentSize=CGSizeMake(1400, 100);
UIImageView *tempImageView2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"sti01.png"]];
tempImageView2.frame=CGRectMake(10, 60, 200, 200);
[scrollView addSubview:tempImageView2];
UIImageView *tempImageView3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"sti02.png"]];
tempImageView3.frame=CGRectMake(240, 60, 200, 200);
[scrollView addSubview:tempImageView3];
UIImageView *tempImageView4 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"sti03.png"]];
tempImageView4.frame=CGRectMake(470, 60, 200, 200);
[scrollView addSubview:tempImageView4];
UIImageView *tempImageView5 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"sti04.png"]];
tempImageView5.frame=CGRectMake(700, 60, 200, 200);
[scrollView addSubview:tempImageView5];
UIImageView *tempImageView6 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"sti05.png"]];
tempImageView6.frame=CGRectMake(930, 60, 200, 200);
[scrollView addSubview:tempImageView6];
UIImageView *tempImageView7 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"sti06.png"]];
tempImageView7.frame=CGRectMake(1160, 60, 200, 200);
[scrollView addSubview:tempImageView7];
self.view=scrollView;
[scrollView addSubview:tempImageView2];
[scrollView addSubview:tempImageView3];
[scrollView addSubview:tempImageView4];
[scrollView addSubview:tempImageView5];
[scrollView addSubview:tempImageView6];
[scrollView addSubview:tempImageView7];
scrollView.userInteractionEnabled = YES;
btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(22, 100, 1800, 500);
// [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(buttonTest:) forControlEvents:UIControlEventTouchUpInside];
[scrollView addSubview:btn];
}
- (IBAction)buttonTest:(id)sender {
MSDescriptionpage *aSecondPageController = [[MSDescriptionpage alloc] initWithNibName:@"MSDescriptionpage" bundle:nil];
[self.navigationController pushViewController:aSecondPageController animated:YES];
[aSecondPageController release];
}
答案 0 :(得分:0)
我必须这样做,我做的是我使用了两个视图控制器(用于页面滑动的页面视图控制器)和具有UIImage
视图的主视图控制器,您可以在此处添加带有图像的滚动视图。
这些在VC页面中
里面加载了
[pageController setViewControllers:viewControllers
direction:UIPageViewControllerNavigationDirectionReverse
animated:NO
completion:nil];
[self addChildViewController:pageController];
[[self view] addSubview:[pageController view]];
for (UIGestureRecognizer *gR in pageController.gestureRecognizers) {
gR.delegate = self;
}
[pageController didMoveToParentViewController:self];}
这些调用另一个vc
- (UIViewController *)pageViewController:
(UIPageViewController *)pageViewController viewControllerBeforeViewController:
(UIViewController *)viewController
{
for (UIGestureRecognizer *recognizer in pageController.gestureRecognizers) {
if ([recognizer isKindOfClass:[UITapGestureRecognizer class]]) {
recognizer.enabled = NO;
}
}
NSUInteger index = [self indexOfViewController:
(MainViewController *)viewController];
if ((index == 0) || (index == NSNotFound)) {
return nil;
}
index--;
return [self viewControllerAtIndex:index];
}