2017-10-03 4 views
0

私はいくつかの画像(here)を表示するUIScrollViewを持っています。例えば ​​- - 第三のスライドを、私はこのコードスクロールビューサブビューを削除します

if let viewWithTag = self.view.viewWithTag(2) { 
    viewWithTag.removeFromSuperview() 
} 

とそれにしようとすると、私はもうそのスライドにスクロールすることはできませんので、動作しているようですが、私はまだでそれを見ることができる私は削除しようとしています私がそれにスクロールしようとしている限り、下部(here):最後の画像のビデオで見ることができるように、私はそれをスクロールしようとしています。

私はビューからスライドを完全に削除しようとしていますが、隠していません。どんな助けでもトンを助けてください。

スライドのいずれかを削除した後、基本的にはビューを再読み込み/更新しようとしています。コードの

for i in 0..<2 { 
    front = UIImageView() 

    if let url = URL.init(string: frontImageDisplay[i]) { 
     front.downloadedFrom(url: url) 
    } 
    front.contentMode = .scaleToFill 

    let yPosition = self.view.frame.height * CGFloat(i) + self.view.frame.height/2 - (self.view.frame.height/1.1)/2 
    let xPosition = self.view.frame.width/2 - (self.view.frame.width/1.1)/2 
    front.frame = CGRect(x: xPosition, y: yPosition, width: self.view.frame.width/1.1, height: self.view.frame.height/1.1) 
    front.layer.borderWidth = 5 

    back = UIImageView() 

    if let url = URL.init(string: frontImageDisplay[i]) { 
     back.downloadedFrom(url: url) 
    } 

    back.contentMode = .scaleToFill 
    back.frame = CGRect(x: xPosition, y: yPosition, width: self.view.frame.width/1.1, height: self.view.frame.height/1.1) 
    back.layer.borderWidth = 5 

    mainScrollView.contentSize.height = mainScrollView.frame.height * CGFloat(i + 1) 

    imageOne.tag = i 
    imageTwo.tag = i 

    imageOne.addSubview(front) 
    imageTwo.addSubview(back) 
} 

答えて

0

次の行が間違っているように見える:

imageOne.tag = i 
imageTwo.tag = i 

好ましいアプローチ:

  1. UIPageViewControllerを使用する - それについての記事を読むと、それはそれを使用する前に、あなたのニーズに合うかどうかを確認します。
  2. 異なる画面と向きに適応し、フレームの計算を行う必要がないため、自動レイアウトを使用することが好ましい。
  3. ビューを識別するためにタグを使用しないでください。代わりに、ソース画像のモデル(配列)を保持し、それらを繰り返します。
関連する問題