gpt4 book ai didi

iphone - 获取图像索引

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:43:06 24 4
gpt4 key购买 nike

我正在开发一个应用程序,因为我有 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 action:@selector(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)doubleTapImgView:(UITapGestureRecognizer *)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 action:@selector(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];

}

最佳答案

要实现这一点,您可以设置 Tag当您点击该特定图像时,每张图像的值都会获得标签值并使用该 tag值(value)。

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com