Ios Obj-C-以编程方式在视图中相邻显示创建的图像视图?

Ios Obj-C-以编程方式在视图中相邻显示创建的图像视图?,ios,objective-c,Ios,Objective C,我正在使用下面的代码循环遍历图像url数组,并为返回的每个url创建UIImageView。也就是说,所有的图像都显示在我的视图中,一个接一个地显示 如何使每个图像以编程方式彼此相邻?例如,彼此的右边大约是10px NSMutableArray *photos = [self.filteredDataMeetUps valueForKey:@"photo_path"]; for (id object in photos) { self.myImageView = [[UIImageV

我正在使用下面的代码循环遍历图像url数组,并为返回的每个url创建
UIImageView
。也就是说,所有的图像都显示在我的视图中,一个接一个地显示

如何使每个图像以编程方式彼此相邻?例如,彼此的右边大约是10px

NSMutableArray *photos = [self.filteredDataMeetUps valueForKey:@"photo_path"];

 for (id object in photos) {

   self.myImageView = [[UIImageView alloc] initWithFrame:CGRectMake(37, 515, 40, 40)];
   [self.myImageView sd_setImageWithURL:[NSURL URLWithString:object]];
   [self.scrollView addSubview: self.myImageView];

   self.myImageView.layer.cornerRadius = self.myImageView.frame.size.height /2;
   self.myImageView.layer.borderColor = [[UIColor whiteColor] CGColor];
   self.myImageView.layer.borderWidth = 0.0f;
   self.myImageView.layer.masksToBounds = YES;            
}

好的,那么..这里有多个错误。所以我的第一个建议是买本书开始学习

代码中的问题:

  • 您总是在同一UIImageView(self.myImageView)中更改图像。您应该为每张照片创建一个新的UIImageView
  • 您总是设置相同的帧。对于每个UIImageView,都应该设置正确的帧。换句话说,如果要一个接一个地显示它们,则应更改帧的X值
  • 更好的方法是使用约束而不是框架
  • 最好的方法是将UICollectionView与自定义UICollectionViewCell一起使用
其他事实:

  • 在代码中,您正在使用
    id对象
    进行迭代,而不是使用适当的类:
    NSString*urlStr
  • 我建议您:将泛型添加到数组声明中

像这样的问题往往没有得到答案,因为显然有许多非常基本的问题,很明显,你需要研究IOS和Objc(或SWIFT)的基础。开发和更多的一般编程。

不知道为什么我不想使用UICollectionView进行此操作……很明显,我的咖啡没有达到应有的效果。谢谢如果这是您想要的答案,请将此问题设置为已回答。