2015-08-03 3 views
0
CGFloat h = [self getCollectionViewHeight]; 

NSDictionary *metrics = @{@"WPTableViewWidth"  : @(self.frame.size.width/3), 
       @"verticalMargin"   : @(verticalMargin), 
       @"intranetHeight"   :@(h), 
       @"imageGalleryHeight"  :@([_imageGallery GetHeight]), 
       @"nonimageGalleryHeight" :@([_nonimageGallery GetHeight]), 
       @"commentHeight"   :@(0)}; 

В основном я добавляю UICollectionView в качестве подзаголовка на ScrollVIew. Когда я устанавливаю ограничения, я использую Metrics, как указано выше. Я застрял здесь, поскольку, когда я прямо жестко задает значение вместо «h» здесь, вид коллекций виден. Если я делаю CGFloat h = 500; // Некоторое случайное значение Вид коллекции виден. Но если я вычисляю или получаю высоту из contentSize коллекции и присваиваю ее «h» и перехожу к метрикам. Вид коллекции не отображается. В коротком прямом значении передается представление коллекции коллекции, но когда оно получено из некоторых супервизоров или UICollectionview.contentview.height, оно не отображает представление коллекции.UIScroll View не отображается UICollection view as subview

ответ

0

Предлагаю, что [self getCollectionViewHeight]0? (Просто поставьте точку останова на строке, которую вы создаете NSDictionary, и взгляните на значение h.) Если это случай, я предлагаю вам инициализировать metrics в неправильной точке кода (возможно, вметод просмотра контроллер?). Если это так, просто переместите свой код создания метрик в метод viewDidLoad вашего контроллера вида - это точка после того, как размеры UIView уже рассчитаны.

Смежные вопросы