我正在开发一个由不同模块组成的应用程序。通过起始页面,可以导航到那些不同的模块。
其中之一是一种图像选择器,一种将多个图像缩略图显示为按钮的视图。
单击此缩略图后,整个图像(也是一个按钮)显示在子视图上。
要返回缩略图视图,只需再次单击图像(按钮)即可。
问题是,我总是被引导回到起始页面,在那里我可以在不同的模块之间进行选择。
在这里,您可以在我的 ViewController 中找到实现:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
int counter;
int x = 30;
int y = 10;
for (counter = 1; counter < 9 ; counter++) {
UIButton *imageButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
CGRect rect = CGRectMake(x, y, 307, 230);
imageButton.frame = rect;
[imageButton addTarget:self action:@selector(showImage:) forControlEvents:UIControlEventTouchUpInside];
[imageButton setImage:[UIImage imageNamed:[NSString stringWithFormat:@"tn%i.jpg",counter]] forState:UIControlStateNormal];
imageButton.tag = counter;
[self.view addSubview:imageButton];
x = x + 327;
if (counter == 3){
x = 30;
y = 260;
}
if (counter ==6){
x = 30;
y = 510;
}
}
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
-(void)showImage:(id)sender
{
int imageCounter = [sender tag];
UIButton *imageLarge = [UIButton buttonWithType:UIButtonTypeRoundedRect];
CGRect largeRect = CGRectMake(0,0, 1024, 768);
imageLarge.frame = largeRect;
[imageLarge addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchUpInside];
[imageLarge setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%i.jpg",imageCounter]] forState:UIControlStateNormal];
imageLarge.tag = imageCounter;
[self.view addSubview:imageLarge];
}
-(void)back:(id)sender
{
[UIView beginAnimations:@"flipview" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view.superview cache:YES];
[self.view setHidden:YES];
[UIView commitAnimations];
}
我在这里想念什么?