2016-10-14 5 views
1

iOSとXamarinを初めて使用しています。私は、メインフレームのWidthHeightのフルのCollectionViewを作成しています。今私は150HeightWidthHorizontal Scrollと完全にCollectionViewのサイズを変更したいと思います。私はコードを変更しようとするが、それは動作しません。フルスクリーンでのiOSでcollectionViewのサイズを変更するには

CollectionView:

UICollectionViewDataSource source; 
     UICollectionViewFlowLayout layout; 
     UICollectionView collectionView; 

    protected ViewController(IntPtr handle) : base(handle) 
    { 
     layout = new UICollectionViewFlowLayout 
     { 
      SectionInset = new UIEdgeInsets(20, 5, 5, 5), 
      MinimumInteritemSpacing = 5, 
      MinimumLineSpacing = 5, 
      ItemSize = new SizeF(100, 100), 


     }; 

     collectionView = new UICollectionView(UIScreen.MainScreen.Bounds, layout); 
     collectionView.ContentSize = new CGSize(View.Frame.Size.Width, View.Frame.Size.Height); 
     collectionView.BackgroundColor = UIColor.White; 
     source = new UICollectionViewDataSource(); 

     collectionView.RegisterClassForCell(typeof(TextCell), TextCell.CellId); 
     collectionView.Source = source; 
    } 

出力:

enter image description here

私は期待:

幅=親幅、

高さ= 150

だから私はこの

layout = new UICollectionViewFlowLayout 
      { 
       SectionInset = new UIEdgeInsets(20, 5, 5, 5), 
       MinimumInteritemSpacing = 5, 
       MinimumLineSpacing = 5, 
       ItemSize = new SizeF(100, 100), 


      }; 

      collectionView = new UICollectionView(UIScreen.MainScreen.Bounds, layout); 
      collectionView.ContentSize = new CGSize(View.Frame.Size.Width, 150); 
      collectionView.BackgroundColor = UIColor.White; 
      source = new UICollectionViewDataSource(); 

      collectionView.RegisterClassForCell(typeof(TextCell), TextCell.CellId); 
      collectionView.Source = source; 

にコードを変更するだけでなく、それはフルスクリーンで表示されます。

ご了承ください。

答えて

1

最後に、私は一つViewを作成し、サブビューとしてCollectionViewを追加し、私は完全Width150Heightで期待通り最終的にそれは動作します。

ワーキングコード:

UICollectionView collectionView; 
     UICollectionViewDataSource source; 
     UICollectionViewFlowLayout layout; 



     protected ViewController(IntPtr handle) : base(handle) 
     { 
      layout = new UICollectionViewFlowLayout 
      { 
       SectionInset = new UIEdgeInsets(20, 10, 5, 5), 
       MinimumInteritemSpacing = 5, 
       MinimumLineSpacing = 5, 
       ItemSize = new SizeF(120, 130), 
       ScrollDirection = UICollectionViewScrollDirection.Horizontal 
      }; 

      UIView topcontainer = new UIView(); 

      topcontainer.Frame = new CGRect(0f, 0f, View.Frame.Width, 150f); 

      View.AddSubview(topcontainer); 

      collectionView = new UICollectionView(topcontainer.Bounds, layout); 
      collectionView.ContentSize = new CGSize(topcontainer.Frame.Size.Width, topcontainer.Frame.Size.Height); 
      collectionView.CollectionViewLayout = layout; 
      collectionView.BackgroundColor = UIColor.White; 
      source = new UICollectionViewDataSource(); 

      collectionView.RegisterClassForCell(typeof(TextCell), TextCell.CellId); 
      collectionView.Source = source; 

      topcontainer.AddSubview(collectionView); 
     } 

出力:

​​

関連する問題