Autolayout iOS,带有单个uiviewcontroller和多个视图

时间:2017-07-03 02:27:59

标签: ios autolayout

我正在开发一个使用一些带有多个UIViews的UIView控件的应用程序。我正在尝试设置autolayout但是UIViews没有扩展到UIViewcontroller大小。有人能指出我解决这个问题的方法,而无需重新设计应用程序架构吗?

所以我有一个UIViewController和一个子视图UIView(addNoteUIView)

当我将子视图添加到viewController时 子视图Addnote视图未通过自动布局调整大小到屏幕边界并被裁剪。

the subview does not resize to the bounds of the device

如何修复第二个UIView(添加注释视图)以遵循设备的界限?

修改

感谢Vishal

我在viewdidload上设置框架

[self.collectionView setFrame:self.view.frame];
[self.collectionView setNeedsLayout];

但是,我从细胞中得到了这种行为。为什么会这样?多重界限? see image with collection view cell error

我的收集项目大小的代码

- (CGSize)collectionView:(UICollectionView *)collectionView
                  layout:(UICollectionViewLayout*)collectionViewLayout
  sizeForItemAtIndexPath:(NSIndexPath *)indexPath{

    CGRect screenRect = [_collectionView bounds];
    CGFloat screenWidth = screenRect.size.width;
    CGFloat screenHeight = screenRect.size.height;

    CGFloat cellWidth = (screenWidth / (_lcolumns)); //Replace the divisor with the column count requirement. Make sure to have it in float.
    CGFloat cellHeight = (screenHeight / (_lrows));

    if(cellWidth < cellHeight)
        return  CGSizeMake(cellWidth, cellWidth);
    else
        return  CGSizeMake(cellHeight, cellHeight);

}

1 个答案:

答案 0 :(得分:0)

使用autolayout不调整大小你需要设置框架OR你需要以编程方式给出约束。