2016-03-27 4 views
0

я следующая проблема, я создал view1 выше View2UIScrollView не прокрутка быстрых

Затем добавляют Scrollview к view1, то Scrollview содержит некоторые элементы пользовательского интерфейса, добавленного код

Проблемы, что моя Scrollview не прокрутку , а содержание этого появляются выше точки зрения 2 в то время как мне нужно, чтобы это было за ним и, чтобы иметь возможность прокручивать его

скриншот, следящие

enter image description here

мой код добавления элементов пользовательского интерфейса, следящие

 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); 

пожалуйста кто-нибудь сказать мне, что здесь проблема?

ответ

0

Пожалуйста, проверьте эту строку

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

Почему содержание высота 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) 
Смежные вопросы