我正在创建一个用户可以上传1到3张照片的应用。 我希望用户能够将其视为带有页面控件的滑块, 我开始对它进行编码,但由于某种原因,图像没有添加到scrollView(我在运行应用程序时看不到任何内容)。
到目前为止,这是我的代码:
class dogProfileViewController: UIViewController {
var imagesArray = [UIImageView()]
@IBOutlet var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
let image1: UIImageView = UIImageView(image: UIImage(named: "image1.png"))
let image2: UIImageView = UIImageView(image: UIImage(named: "image2.png"))
imagesArray.append(image1)
imagesArray.append(image2)
var countIndex = CGFloat(0)
for image in imagesArray {
image.frame = CGRectMake(countIndex*view.frame.width, 0, view.frame.width, 100)
scrollView.addSubview(image)
countIndex = countIndex + 1
}
// Do any additional setup after loading the view.
}
}
答案 0 :(得分:2)
在for循环结束后添加以下行
scrollView.contentSize = CGSizeMake(countIndex*view.frame.width,0)
我认为这会奏效。
答案 1 :(得分:1)
嗯,根据您提供的内容,您尚未将scrollView添加到视图中。因此,第一步,确保将scrollView添加到视图中。 self.view.addSubiew(scrollView)
。更改scrollView背景以确保它在那里。
另外,我没有看到你初始化了scrollView框架。 scrollView没有框架,因此它不会显示在任何地方。确保初始化scrollView。
答案 2 :(得分:1)
@IBOutlet var mainScrollView: UIScrollView!
var imageArray = [UIImage]()
override func viewDidLoad() {
super.viewDidLoad()
mainScrollView.frame = CGRect(x: 0, y: 0, width: view.frame.width, height: 175)
imageArray = [#imageLiteral(resourceName: "cake"),#imageLiteral(resourceName: "food")]
for i in 0..<imageArray.count{
let imageView = UIImageView()
imageView.image = imageArray[i]
imageView.contentMode = .scaleToFill
let xPosition = self.view.frame.width * CGFloat(i)
imageView.frame = CGRect(x: xPosition, y: 0, width: self.mainScrollView.frame.width, height: self.mainScrollView.frame.height)
mainScrollView.contentSize.width = mainScrollView.frame.width * CGFloat(i + 1)
mainScrollView.addSubview(imageView)
}
}