1. 程式人生 > >Masonry + ScrollView 佈局小問題

Masonry + ScrollView 佈局小問題

Masonry 去做scrollView的自適應,需要在scrollView上新增一箇中間層(UIView )來確定scrollView的contentSize,但是,有可能這個中間層的view是看不見的,就會導致新增上的Button點選沒響應的時候不知道Button是不是新增到中間View上,關於中間(View)層不顯示的原因,請看這裡

原因簡述:UIScrollView的leading/trailing/top/bottom是相對於自己的ContentSize而不是Bounds來確定的。而ContentSize又是根據子檢視決定的。

解決方法如下:

UIScrollView *src = [[

UIScrollViewalloc] init];

    src.showsVerticalScrollIndicator =NO;

    [self.viewaddSubview:src];

    [src mas_makeConstraints:^(MASConstraintMaker *make) {

        make.edges.equalTo(self.view);

    }];

UIView *contentView = [[UIViewalloc] init];

    [src addSubview:contentView];

    [contentView

mas_makeConstraints:^(MASConstraintMaker *make) {

        make.edges.equalTo(src);

        make.width.height.equalTo(src);

    }];


make.width.height.equalTo(src);這句尤其重要