我正在开发一个应用程序,其中我有 15 个图像存储在一个数组中作为正面图像,另外 15 个图像作为背面图像。我想将该图像垂直添加到 ScrollView 中,我已经成功完成了,但现在我的问题是如何比较这两个数组图像。
在垂直 ScrollView 上添加正面图像已成功添加但不是随机打乱,即当我双击正面图像时,会显示背面阵列图像,但该 ImageView 中仍存在正面图像。
请帮我解决这个问题。
提前致谢。
请检查我的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
AppDelegate * delegate=(AppDelegate *)[[UIApplication sharedApplication]delegate];
delegate.front=TRUE;
delegate.back=FALSE;
UIScrollView *scrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
[scrollView setPagingEnabled:YES];
[scrollView setShowsHorizontalScrollIndicator:NO];
FrontsCards=[[NSMutableArray alloc]initWithObjects"cloub1.png",@"cloub2.png",@"cloub3.png",@"cloub4.png",@"cloub5.png",@"cloub6.png",@"cloub7.png",@"cloub8.png",@"cloub9.png",@"cloub10.png",@"cloub11.png",@"cloub12.png",@"diamond1.png",@"diamond2.png",@"diamond3.png",@"diamond4.png",@"diamond5.png", nil];
for(int m=0; m<[FrontsCards count];m++)
{
ImgView.tag=m;
int randIdx=arc4random()%[FrontsCards count];
NSString *imageName=[FrontsCards objectAtIndex:randIdx];
// NSLog(@"%d",randIdx);
NSString *fullImageName=[NSString stringWithFormat"%@",imageName];
int padding=25;
// padding is given.
CGRect imageViewFrame=CGRectMake(scrollView.frame.size.width*m+padding, scrollView.frame.origin.y, scrollView.frame.size.width-2*padding, scrollView.frame.size.height);
ImgView=[[UIImageView alloc]initWithFrame:imageViewFrame];
[ImgView setImage:[UIImage imageNamed:fullImageName]];
[ImgView setContentMode:UIViewContentModeScaleAspectFill];
[scrollView addSubview:ImgView];
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self actionselector(doubleTapImgView];
doubleTap.numberOfTapsRequired = 2;
doubleTap.delegate = self;
[self.ImgView addGestureRecognizer:doubleTap];
self.ImgView.userInteractionEnabled=YES;
}
CGSize scrollViewSize=CGSizeMake(scrollView.frame.size.width*[FrontsCards count], scrollView.frame.size.height);
[scrollView setContentSize:scrollViewSize];
[self.view addSubview:scrollView];
}
- (void)doubleTapImgViewUITapGestureRecognizer *)gesture
{
AppDelegate * delegate=(AppDelegate *)[[UIApplication sharedApplication]delegate];
delegate.back=TRUE;
delegate.front=FALSE;
NSLog(@"%d", gesture.view.tag);
NSLog(@"double-tap");
BackCards =[[NSMutableArray alloc]initWithObjects"card1.jpg",@"card2.jpg",@"card3.jpg",@"card4.jpg", nil];
UIScrollView *scrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
[scrollView setPagingEnabled:YES];
[scrollView setShowsHorizontalScrollIndicator:NO];
for(int m=0; m< [BackCards count];m++)
{
NSString *imageName=[BackCards objectAtIndex:m];
NSString *fullImageName=[NSString stringWithFormat"%@",imageName];
int padding=25;
// padding is given.
CGRect imageViewFrame=CGRectMake(scrollView.frame.size.width*m+padding, scrollView.frame.origin.y, scrollView.frame.size.width-2*padding, scrollView.frame.size.height);
ImgView=[[UIImageView alloc]initWithFrame:imageViewFrame];
[ImgView setImage:[UIImage imageNamed:fullImageName]];
[ImgView setContentMode:UIViewContentModeScaleAspectFill];
[scrollView addSubview:ImgView];
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self actionselector(doubleTapImgView];
doubleTap.numberOfTapsRequired = 2;
doubleTap.delegate = self;
[self.ImgView addGestureRecognizer:doubleTap];
self.ImgView.userInteractionEnabled=YES;
}
CGSize scrollViewSize=CGSizeMake(scrollView.frame.size.width*[FrontsCards count], scrollView.frame.size.height);
[scrollView setContentSize:scrollViewSize];
[self.view addSubview:scrollView];
}
Best Answer-推荐答案 strong>
为了实现这一点,您可以为每个图像设置 Tag 值,当您点击该特定图像时,您将获得标签值并使用该 tag 值。
self.imagview.tag=Unique_tagValue;
单击该图像时,您可以从另一个阵列设置图像。
self.imageview.image=[UIImage imageNamed:[backArray objectAtIndex:self.imageview.tag]];
编辑:-
在 viewDidLoad 方法中为 imageview 设置标签,像这样 ImgView.tag=m+100;
在doubleTapImgView 方法中保留以下代码
for(int m=0; m< [BackCards count];m++)
{
UIImageView *imgview=(UIImageView *)[scrollview viewWithTag:m+100];
imgview.image=[UIImage imagNamed:[BackCards objectAtIndex:m]];
}
subview 翻译:-
[self.view bringSubviewToFront:frontview];
关于iphone - 获取图像索引,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/16557466/
|