2016-03-27 12 views
0

をスクロールしていないがVIEW1するscrollviewを追加、scrollviewはコードUIScrollViewのは、私は次のような問題を持って、私はその後VIEW2</p> <p>上VIEW1を作成した迅速

私のscrollviewがスクロールされていない問題で追加されたいくつかのUI要素が含まれています私はそれがその背後にあること、および

スクリーンショットが

enter image description here

0123に従っていることをスクロールできるようにする必要がありながら、それの内容は、ビュー2の上に表示されますUI要素を追加する

私のコードは

 mainScrollView = UIScrollView(frame: CGRectMake(0, 0, self.view.frame.size.width, 1000)) 

     let awesomeView2: UIImageView = UIImageView(frame: CGRectMake(0, 0, self.view.frame.size.width, 180)) 
     awesomeView2.load(selectedItem.listingImage); 

     mainScrollView.addSubview(awesomeView2); 

     let title: UILabel = UILabel(frame: CGRectMake(0, 180, self.view.frame.size.width, 44)); 
     title.text = selectedItem.listingTitle; 
     title.textAlignment = .Right; 

     mainScrollView.addSubview(title); 

     let catName: UILabel = UILabel(frame: CGRectMake(200, 224, 120, 21)); 
     catName.text = selectedItem.catName 
     catName.textAlignment = .Right; 

     mainScrollView.addSubview(catName); 

     let datePublished: UILabel = UILabel(frame: CGRectMake(0, 224, 200, 21)); 
     datePublished.text = selectedItem.dateCreated 
     datePublished.textAlignment = .Left 

     mainScrollView.addSubview(datePublished); 

     let grayColor = UIColor(red: 1, green: 165/255, blue: 0, alpha: 1) 
     let iconsView: UIView = UIView(frame: CGRectMake(0, 250, self.view.frame.size.width, 32)); 
     iconsView.backgroundColor = grayColor 
     mainScrollView.addSubview(iconsView); 

     if (KhawaterDataManager.instance.banners.itemBanners.count > 0) { 

      let awesomeView3: UIImageView = UIImageView(frame: CGRectMake(0, 282, self.view.frame.size.width, 50)) 
      awesomeView3.load(KhawaterDataManager.instance.banners.itemBanners[0].image); 
      mainScrollView.addSubview(awesomeView3); 
     } 


     // test 

     let catName1: UILabel = UILabel(frame: CGRectMake(0, 335, self.view.frame.size.width, 50)); 
     catName1.text = selectedItem.catName 

     mainScrollView.addSubview(catName1); 

     let catName2: UILabel = UILabel(frame: CGRectMake(0, 385, self.view.frame.size.width, 50)); 
     catName2.text = selectedItem.catName 
     mainScrollView.addSubview(catName2); 


     let catName3: UILabel = UILabel(frame: CGRectMake(0, 435, self.view.frame.size.width, 50)); 
     catName3.text = selectedItem.catName 
     mainScrollView.addSubview(catName3); 

     mainScrollView.contentSize = CGSizeMake(self.view.frame.size.width, 1000) 
     mainScrollView.scrollEnabled = true; 

     mainView.addSubview(mainScrollView); 

に従っている誰もが何がここで問題です教えてください?これが多すぎるのはなぜ内容の高さ1000

答えて

0

このライン

mainScrollView.contentSize = CGSizeMake(self.view.frame.size.width, 1000)

を確認してください。これは

mainScrollView.contentSize = CGSizeMake(self.view.frame.size.width, 435+50)

する必要があり、別の問題が、なぜあなたのscollViewがmainViewではなくself.viewのサブビューとして設定されていることです。

0

また、すべてのサブビュー(awesomeView2、title、catNameなど)をコンテナビューに追加し、コンテナビューをスクロールビューに追加することもできます。 のようなもの:

let containerView: UIView = { 
    let view = UIView() 
    view.addSubview(self.awesomeView2) 
    view.addSubview(self.title) 
    view.addSubview(self.catName) 
    view.addSubview(self.datePublished) 
    return view 
}() 

mainScrollView.addSubview(containerView) 
関連する問題