scrollview用masnory布局

viewDidLayoutSubviews

    - (void)viewDidLayoutSubviews {
        [super viewDidLayoutSubviews];

        CGFloat contentY = CGRectGetMaxY(self.bottomView.frame);
        if (contentY < CGRectGetMaxY(self.view.bounds)) {
        contentY = CGRectGetMaxY(self.view.bounds);
      }
      [self.mainScrollView setContentSize:CGSizeMake(ScreenWidth, contentY)];
    }

viewdidload里面

    _mainScrollView = [[UIScrollView alloc]initWithFrame:self.view.bounds];
    [self.view addSubview:_mainScrollView];
    _mainScrollView.showsVerticalScrollIndicator = NO;
    [_mainScrollView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.edges.equalTo(self.view);
    }];

    _mainScrollView.contentSize = CGSizeMake(ScreenWidth, 1000);

    _topBagView = [[UIView alloc]initWithFrame:CGRectZero];
    [_mainScrollView addSubview:_topBagView];
    _topBagView.backgroundColor = [UIColor colorWithHexStr:@"#70AAAA" alpha:0.2];
    _topBagView.layer.cornerRadius = Set_WidthScale(4);
    _topBagView.layer.borderColor = [UIColor colorWithHexStr:@"#70AAAA" alpha:0.06].CGColor;
    _topBagView.layer.borderWidth = 0.5;
    [_topBagView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(_mainScrollView).mas_offset(Set_WidthScale(16));
        make.width.mas_equalTo(Set_WidthScale(343));
        make.top.equalTo(_mainScrollView).mas_offset(Set_WidthScale(12));
    }];
//
    _contentLb = [[UILabel alloc]init];
    _contentLb.font = [UIFont systemFontOfSize:Set_WidthScale(16)];
    _contentLb.textColor = [UIColor colorWithHexStr:@"#99999C"];
    _contentLb.numberOfLines = 0;
    [_topBagView addSubview:_contentLb];

    [_contentLb mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_equalTo(Set_WidthScale(12));
        make.left.mas_equalTo(Set_WidthScale(8));
        make.width.mas_lessThanOrEqualTo(Set_WidthScale(327));
    }];

     UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];
    CGFloat itemWidth = (ScreenWidth - Set_WidthScale(16)*2 - Set_WidthScale(12)*4) / 3;
    itemWidth = floorf(itemWidth);
    layout.itemSize = CGSizeMake(itemWidth, itemWidth);
    layout.minimumLineSpacing = Set_WidthScale(12);
    layout.minimumInteritemSpacing = Set_WidthScale(12);

    _imageCollectionView = [[UICollectionView alloc]initWithFrame:CGRectZero collectionViewLayout:layout];
    [_topBagView addSubview:_imageCollectionView];
    _imageCollectionView.backgroundColor = UIColor.clearColor;
    _imageCollectionView.delegate = self;
    _imageCollectionView.dataSource = self;

    [_imageCollectionView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_equalTo(self.contentLb.mas_bottom).mas_offset(Set_WidthScale(20));
        make.bottom.mas_equalTo(self.topBagView.mas_bottom);
        make.left.equalTo(self.topBagView);
        make.right.equalTo(self.topBagView);
        make.height.mas_equalTo(10);
    }];

    [_imageCollectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"UICollectionViewCell"];

    _bottomView = [[UIView alloc]init];
    [self.mainScrollView addSubview:_bottomView];
    [_bottomView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.mas_equalTo(Set_WidthScale(16));
        make.width.mas_equalTo(self.topBagView);
        make.top.mas_equalTo(self.topBagView.mas_bottom).mas_offset(Set_WidthScale(8));
    }];

    _tipLb = [[UILabel alloc]init];
    _tipLb.font = [UIFont boldSystemFontOfSize:Set_WidthScale(16)];
    _tipLb.textColor = [UIColor colorWithHexStr:@"#353634"];
    _tipLb.text = @"官方回復(fù)";
    [_bottomView addSubview:_tipLb];
    [_tipLb mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.mas_equalTo(self.bottomView);
        make.top.mas_equalTo(Set_WidthScale(12));
    }];

    _timeLb = [[UILabel alloc]init];
    _timeLb.font = [UIFont systemFontOfSize:Set_WidthScale(12)];
    _timeLb.textColor = [UIColor colorWithHexStr:@"#9B9C9A"];
    [_bottomView addSubview:_timeLb];
    [_timeLb mas_makeConstraints:^(MASConstraintMaker *make) {
        make.right.mas_equalTo(self.bottomView);
        make.centerY.mas_equalTo(self.tipLb);
    }];

    //webview 這里最下面放了一個webview呻顽,加載html標(biāo)簽,高度后面計算
    _wkWebV = [[WKWebView alloc]init];
    [_bottomView addSubview:_wkWebV];
    [_wkWebV mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.mas_equalTo(self.bottomView);
        make.top.mas_equalTo(self.tipLb.mas_bottom).mas_offset(Set_WidthScale(12));
        make.bottom.mas_equalTo(Set_WidthScale(-12));
        make.width.mas_lessThanOrEqualTo(Set_WidthScale(343));
        make.height.mas_equalTo(200);//暫時給個高度
    }];

拿到html標(biāo)簽處理 ,

   [_wkWebV loadHTMLString:[self getStrings:backStr] baseURL:nil];

  - (NSString *)getStrings:(NSString *)str{
      NSString *tmp = [NSString stringWithFormat:@"<body width=320px style=\"word-wrap:break-word; font-family:Arial\"><p     style='padding-top:0.0px;'></p ><meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-    scalable=0'><meta name='apple-mobile-web-app-capable' content='yes'><meta name='apple-mobile-web-app-status-bar-style'     content='black'><meta name='format-detection' content='telephone=no'><style type='text/css'>img{width:%f</style>%@<p     style='padding-bottom:0.0px;'></p>",kScreenWidth - 20,str];
      return tmp;  
  }

計算webview高度

  - (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{
        [webView evaluateJavaScript:@"document.body.scrollHeight"
                completionHandler:^(id _Nullable result,NSError *_Nullable error) {
        // 高度
        CGFloat scrollViewHeight = [result doubleValue];
        DGLog(@"-------%f",scrollViewHeight);
        [self->_wkWebV mas_updateConstraints:^(MASConstraintMaker *make) {
            make.left.mas_equalTo(self.bottomView);
            make.top.mas_equalTo(self.tipLb.mas_bottom).mas_offset(Set_WidthScale(12));
            make.bottom.mas_equalTo(Set_WidthScale(-12));
            make.width.mas_lessThanOrEqualTo(Set_WidthScale(343));
            make.height.mas_equalTo(scrollViewHeight);
        }];
        CGFloat contentY = CGRectGetMaxY(self.bottomView.frame);
        if (contentY < CGRectGetMaxY(self.view.bounds)) {
            contentY = CGRectGetMaxY(self.view.bounds);
        }
        [self.mainScrollView setContentSize:CGSizeMake(ScreenWidth, contentY + scrollViewHeight)];

      }];
  }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖戳寸,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拷泽,居然都是意外死亡疫鹊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進(jìn)店門司致,熙熙樓的掌柜王于貴愁眉苦臉地迎上來订晌,“玉大人,你說我怎么就攤上這事蚌吸⌒獠Γ” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵羹唠,是天一觀的道長奕枢。 經(jīng)常有香客問我娄昆,道長,這世上最難降的妖魔是什么缝彬? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任萌焰,我火速辦了婚禮,結(jié)果婚禮上谷浅,老公的妹妹穿的比我還像新娘扒俯。我一直安慰自己,他們只是感情好一疯,可當(dāng)我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布撼玄。 她就那樣靜靜地躺著,像睡著了一般墩邀。 火紅的嫁衣襯著肌膚如雪掌猛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天眉睹,我揣著相機(jī)與錄音荔茬,去河邊找鬼。 笑死竹海,一個胖子當(dāng)著我的面吹牛慕蔚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播斋配,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼孔飒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了许起?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤菩鲜,失蹤者是張志新(化名)和其女友劉穎园细,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體接校,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡猛频,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蛛勉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鹿寻。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖诽凌,靈堂內(nèi)的尸體忽然破棺而出毡熏,到底是詐尸還是另有隱情,我是刑警寧澤侣诵,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布痢法,位于F島的核電站狱窘,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏财搁。R本人自食惡果不足惜蘸炸,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望尖奔。 院中可真熱鬧搭儒,春花似錦、人聲如沸提茁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽甘凭。三九已至裕偿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間慰毅,已是汗流浹背谨胞。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留躲胳,地道東北人蜓洪。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像坯苹,于是被迫代替她去往敵國和親隆檀。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容