2017-10-12 2 views
0

ScrollViewの仕組みに苦労しています。私はスクロールビューのビデオチュートリアルを見て、次にスクロールビューを追加し、次にUIViewを追加し、制約を追加し、View Controllerをフリーフォームにして1000に設定する必要があります。Scrollviewが下にスクロールしていない

私のアプリでは、クーポンは画像ビューであり、これらの画像ビューはプログラムによって設定される。ここでコードは、誰もscrollViewsで私を助けてくださいできますか?ありがとう。

import UIKit 

class ViewController: UIViewController { 

@IBOutlet weak var scrollView: UIScrollView! 

@IBOutlet weak var UIView: UIView! 

struct MyCoupons { 
    static var couponsString: UIImage? 
    static var siteCoupons: [String?] = [] 
    static var count: Int = 0 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

} 


override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

override func viewDidAppear(_ animated: Bool) { 
    var i: Int = 0 
    var x: Int = 0 
    var y: Int = 0 
    var width: Int = 0 
    var height: Int = 0 

    ViewController.PopulateDataCoupons() 

    i=0 
    height = 300 
    repeat { 
     let imageName = MyCoupons.siteCoupons[i]//"Coupons1.jpg" 
     let image = UIImage(named: imageName!) 
     let imageView = UIImageView(image: image!) 

     y = i * height + 50 
     imageView.frame = CGRect(x: 50, y: y, width: 250, height: 300) 

     view.addSubview(imageView) 
     i += 1 

    } 
     while (i < MyCoupons.count-1) 
} 

public class func PopulateDataCoupons() { 
    var i = 0 
    var abc: String 


    if let path = Bundle.main.path(forResource: "Coupons", ofType: "txt") { 
     do { 
      let data = try String(contentsOfFile: path, encoding: .utf8) 
      let myStrings = data.components(separatedBy: .newlines) 
      abc = myStrings.joined(separator: ",") 

      let couponsArr = abc.components(separatedBy: ",") 
      print("couponsArr.count", couponsArr.count) 

      repeat { 
       MyCoupons.siteCoupons.append(couponsArr[i]) 
       i+=1 
      } while i < ((couponsArr.count)-1) 

      MyCoupons.count = couponsArr.count 
     } catch { 
      print(error) 
     } 
    } 

} 

} Scrollers show but it won't go down after the bottom hits

Constraints

+0

1000以上ですか?スクロールビューを含むビューが表示された後にクーポンを挿入するようです。 –

+0

こんにちは、彼らはviewDidAppearにあります。私はviewDidLoad()関数も呼びましたが、まだ運がありません。クーポンの画像は表示されていますが、3枚目のクーポンで表示されています。切り取られ、次のページにスクロールしません。また、scrollViewのためにPagingを有効にするように設定しました。 –

+0

ユーザーインタラクションが有効になっています。 –

答えて

0

あなたのViewControllerのビューに、ではないあなたのscrollViewにあなたのイメージを追加しています。
あなたのviewControllerの高さは1000で、画像ごとに50の垂直オフセットがあります。
それはこのように書きます:
50 + 300 + 50 + 300 + 50 + 300 = 1050
それはあなたが)(のviewDidLoadでクーポンを投入しようとしました

+0

どうすれば私の画像をプログラムでscrollViewに追加できますか?ありがとう。ちなみに、私は1000の代わりに1200に高さを変更しましたが、まだ問題があります。 –

+0

scrollView.addsubviews(_ :)はこのトリックを行う必要があります。 – GBaeOne

+0

クール!!!私はscrollView.addSubview(imageView)にラインを変更し、それが動作します。本当にありがとう! –

関連する問題