从滚动视图添加多个图像

Posted

技术标签:

【中文标题】从滚动视图添加多个图像【英文标题】:Adding multiple images from a scrollview 【发布时间】:2015-03-19 09:02:18 【问题描述】:

我需要从滚动视图中选择多个图像。

如果我触摸该图像,它会显示一个选择勾号(复选);如果我再次触摸它,它将被取消选择。

现在我是这样做的:

我希望这样当我点击该特定图像时,它会显示一个勾号(复选);如果我触摸第二个,那么它会为此图像显示一个勾号(检查),就像我们从相机胶卷中选择图像一样。

所以,请尽快帮助我。

以下是我的代码:

-(void)listimagesandanmae


int myFavV = [favCompcamelIDArr count];
for (int i = 0; i < myFavV; i++)

    CGFloat xOrigin = i * 100;


    favimageView = [[UIImageView alloc] initWithFrame:CGRectMake(xOrigin+20,10,70,70)];

    favimageView.layer.cornerRadius = favimageView.frame.size.width / 2;
    favimageView.clipsToBounds = YES;

    //        imageView.layer.cornerRadius = 60;
    //        imageView.clipsToBounds = YES;
    favimageView.tag=i;

    NSInteger tag = favimageView.tag;
    // then do what you want with this

    if (([favCompcamelIDArr count] >0) ) 


    

    favnamelistingLbl=[[UILabel alloc]initWithFrame:CGRectMake(xOrigin+23,90,90,27)];

    favnamelistingLbl.textAlignment = NSTextAlignmentCenter;

    favnamelistingLbl.tag=i;


    NSLog(@"%lu",(unsigned long)[favcompnsmeArr count]);

    if (([favCompcamelIDArr count] > 0) ) 

        favnamelistingLbl.text=[favcompnsmeArr objectAtIndex:i];

    

    [_selectCamelFav addSubview:favnamelistingLbl];

    UITapGestureRecognizer *tappedmyFav = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tappedmyFav:)];
    tappedmyFav.numberOfTapsRequired = 1;

    [favimageView addGestureRecognizer:tappedmyFav];
    NSLog(@"%ld",(long)tag);

    NSString *urStCam=@"http://192.8.1.42:/da/";
    NSString *urStCam1=[urStCam stringByAppendingString:[favcompictureArr objectAtIndex:i]];

    NSString *urStCam2= [urStCam1 stringByReplacingOccurrencesOfString:@"\n" withString:@""];


    [caArray addObject:urStCam2];
    NSLog(@"%@",caArray);

    NSURL *newUrl=[NSURL URLWithString:[caArray objectAtIndex:i]];
    NSData *imageDatash = [NSData dataWithContentsOfURL:newUrl];
    UIImage *image123 = [UIImage imageWithData:imageDatash scale:2.0];
    [favimageView setImage:image123];

    [_selectCamelFav addSubview:favimageView];
    favimageView.userInteractionEnabled = YES;



_selectCamelFav.contentSize = CGSizeMake(myFavV * 210, 171);

[_indicatorA startAnimating];
_indicatorA.hidden=YES;


 

  - (void)tappedmyFav:(UITapGestureRecognizer*)tap
 
 UITapGestureRecognizer *gesture = (UITapGestureRecognizer *) tap;

  

【问题讨论】:

为什么不使用UICollectionViewUITableView。这会容易得多。 【参考方案1】:

你应该继承 UIView。然后添加 UIImageView、UILabel(复选标记)和一个属性来控制 UIView 是否被选中。还添加 Tap 手势处理程序(selected = !selected when taped)

要搜索选择了哪个视图,请在滚动视图中搜索“选定”的 UIView 对象。或者您可以在对象被“选中/未选中”时维护自己的列表,这样您就不需要搜索所有对象。

【讨论】:

以上是关于从滚动视图添加多个图像的主要内容,如果未能解决你的问题,请参考以下文章

使用 UIScrollView 在多个图像之间水平滚动

从服务器获取多个 url 图像并在 iphone 的滚动视图中显示

如何将多个小部件同时添加到滚动视图?

如何使用不同大小和方向的图像创建水平滚动视图?

使用 DKImagePickerController 在滚动视图上显示多个图像

IOS:在滚动视图中添加一些子滚动视图,图像不出现