/// <summary> /// Creates the grid, sets size, bg colour and adds to view. /// Can also recreate grid. /// </summary> public void CreateGrid() { //1. create view Grid = new UICollectionView(new CGRect(0, 0, 0, 0), new UICollectionViewLayout()); Grid.BackgroundColor = View.BackgroundColor; //2. add view to parent view View.Add(Grid); //3. call method on parent view View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(); //4. add constraints View.AddConstraints( //Grid.AtTopOf(View, UIApplication.SharedApplication.StatusBarFrame.Height), Grid.AtTopOf(View, StatusBarH),//changing to statusbarh fixed it Grid.AtLeftOf(View, 0), Grid.AtRightOf(View, 0), Grid.AtBottomOf(View, StatusBarH + ButtonPadding) ); }
private void SetupConstraints() { ContentView.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(); _imageBackgroundTopSpacingConstraint = _imageBackground.Below(_infoBackGround, 5).ToLayoutConstraints().First(); _imageBackgroundHeightConstraint = _imageBackground.Height().EqualTo(134).ToLayoutConstraints().First(); _attendingHeight = _ruler.Below(_header, 125).ToLayoutConstraints().First(); ContentView.AddConstraint(_imageBackgroundHeightConstraint); ContentView.AddConstraint(_imageBackgroundTopSpacingConstraint); ContentView.AddConstraint(_attendingHeight); ContentView.AddConstraints( _header.AtTopOf(ContentView), _header.AtLeftOf(ContentView), _header.AtRightOf(ContentView), _header.Height().EqualTo(345), _dateBackPanel.AtTopOf(ContentView, 20), _dateBackPanel.AtRightOf(ContentView, 20), _dateBackPanel.Width().EqualTo(90), _dateBackPanel.Height().EqualTo(25), _date.WithSameCenterY(_dateBackPanel), _date.WithSameCenterX(_dateBackPanel), _infoContainerPlaceHolder.Below(_dateBackPanel), _infoContainerPlaceHolder.Above(_attendButton), _infoContainerPlaceHolder.AtLeftOf(_header), _infoContainerPlaceHolder.AtRightOf(_header), _infoContainer.AtLeftOf(_header), _infoContainer.AtRightOf(_header), _infoContainer.WithSameCenterY(_infoContainerPlaceHolder), _title.AtTopOf(_infoContainer), _title.AtRightOf(_infoContainer, 20), _title.AtLeftOf(_infoContainer, 20), _time.Below(_title, 5), _time.AtLeftOf(_infoContainer, 20), _time.AtRightOf(_infoContainer, 20), _location.Below(_time, 5), _location.AtLeftOf(_infoContainer, 20), _location.AtRightOf(_infoContainer, 20), _location.Below(_infoContainer), _attendButton.Height().EqualTo(45), _attendButton.AtBottomOf(_header, 39), _attendButton.AtLeftOf(_header, 39), _attendButton.AtRightOf(_header, 39), _infoBackGround.Below(_header), _infoBackGround.AtLeftOf(ContentView), _infoBackGround.AtRightOf(ContentView), _attendingLabel.Below(_header, 30), _attendingLabel.AtLeftOf(ContentView, 14), _attendingLabel.AtRightOf(ContentView, 14), _attendingCollection.Below(_attendingLabel, 13), _attendingCollection.AtLeftOf(ContentView, 14), _attendingCollection.AtRightOf(ContentView, 14), _attendingCollection.Height().EqualTo(31), _ruler.AtLeftOf(ContentView, 10), _ruler.AtRightOf(ContentView, 10), _ruler.Height().EqualTo(1), _eventInfoHeader.Below(_ruler, 13), _eventInfoHeader.AtLeftOf(ContentView, 14), _eventInfoHeader.Height().EqualTo(20), _eventDateLabel.Below(_eventInfoHeader, 14), _eventDateLabel.AtLeftOf(ContentView, 14), _eventDateLabel.Height().EqualTo(20), _eventDate.AtLeftOf(ContentView, 100), _eventDate.WithSameCenterY(_eventDateLabel), _eventTimeLabel.Below(_eventDateLabel, 7), _eventTimeLabel.AtLeftOf(ContentView, 14), _eventTime.WithSameCenterY(_eventTimeLabel), _eventTime.WithSameLeft(_eventDate), _eventTime.AtRightOf(ContentView, 14), _eventLocationLabel.Below(_eventTimeLabel, 7), _eventLocationLabel.AtLeftOf(ContentView, 14), EventLocation.WithSameTop(_eventLocationLabel), EventLocation.WithSameLeft(_eventDate), EventLocation.AtRightOf(ContentView, 14), _infoBottomBorder.Below(EventLocation, 30), _infoBottomBorder.Height().EqualTo(1), _infoBottomBorder.AtLeftOf(ContentView), _infoBottomBorder.AtRightOf(ContentView), _infoBottomBorder.AtBottomOf(_infoBackGround), _imageBackground.AtLeftOf(ContentView), _imageBackground.AtRightOf(ContentView), _imageTopBorder.AtTopOf(_imageBackground), _imageTopBorder.AtLeftOf(ContentView), _imageTopBorder.AtRightOf(ContentView), _imageTopBorder.Height().EqualTo(1), _imageBottomBorder.AtBottomOf(_imageBackground), _imageBottomBorder.AtLeftOf(ContentView), _imageBottomBorder.AtRightOf(ContentView), _imageBottomBorder.Height().EqualTo(1), _imageCollection.AtTopOf(_imageBackground), _imageCollection.AtLeftOf(_imageBackground, 14), _imageCollection.AtRightOf(_imageBackground, 14), _imageCollection.AtBottomOf(_imageBackground), _aboutBackground.Below(_imageBackground, 5), _aboutBackground.AtLeftOf(ContentView), _aboutBackground.AtRightOf(ContentView), _aboutHeaderLabel.AtTopOf(_aboutBackground, 14), _aboutHeaderLabel.AtLeftOf(_aboutBackground, 14), _aboutHeaderLabel.AtRightOf(_aboutBackground, 14), _aboutHeaderLabel.Height().EqualTo(20), AboutText.Below(_aboutHeaderLabel, 13), AboutText.AtLeftOf(_aboutBackground, 12), AboutText.AtRightOf(_aboutBackground, 12), _aboutTopBorder.AtTopOf(_aboutBackground), _aboutTopBorder.Height().EqualTo(1), _aboutTopBorder.AtLeftOf(_aboutBackground), _aboutTopBorder.AtRightOf(_aboutBackground), _aboutRuler.Below(AboutText, 10), _aboutRuler.AtLeftOf(_aboutBackground), _aboutRuler.AtRightOf(_aboutBackground), _aboutRuler.Height().EqualTo(1), _aboutRuler.AtBottomOf(_aboutBackground) //_commentButton.Below(_aboutRuler), //_commentButton.AtLeftOf(ContentView, 14), //_commentButton.Height().EqualTo(50), ); }