1、背景:
需求:app顯示一張app的使用說明長圖。
2、實現:
UIScrollView + UIImageView,設置ScrollView的contentSize為圖片的高度
3、主要代碼
UIScrollView
#pragma mark - scorllView
-(UIScrollView *)scView{
if (!_scView) {
//獲取導航欄和狀態欄的高度
CGFloat barHeight = [self barHeight];
_scView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, UPScrrenWidth, UPScreenHeight - barHeight)];
CGFloat imgH = [self imgContentHeight];
_scView.contentSize = CGSizeMake(0,imgH);//設置滾動視圖的大小
// _scView.pagingEnabled = YES;//設置是否可以進行畫面切換 分塊顯示
_scView.bounces = NO;
_scView.showsHorizontalScrollIndicator = NO;//隱藏水平滾動條
_scView.showsVerticalScrollIndicator = NO;//
[self.view addSubview:_scView];
}
return _scView;
}
UIImageView
#pragma mark - 顯示圖片的ImgView
-(UIImageView *)showImg{
if (!_showImg) {
CGFloat imgH = [self imgContentHeight];
_showImg = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0,UPScrrenWidth , imgH)];
//設置imageView的背景圖
[_showImg setImage:BundleImg(@"Listen/操作說明.jpg")];
//給imageView設置區域
_showImg.contentMode = UIViewContentModeScaleAspectFill;
//超出邊界的剪切
// [_showImg setClipsToBounds:YES];
//把視圖添加到當前的滾動視圖中
[self.scView addSubview:_showImg];
}
return _showImg;
}
內容的高度
#pragma mark - 內容的高度
-(CGFloat)imgContentHeight{
//獲取圖片高度
UIImage *img = BundleImg(@"Listen/操作說明.jpg");
CGFloat imgHeight = img.size.height;
CGFloat imgWidth = img.size.width;
CGFloat imgH = imgHeight * (UPScrrenWidth / imgWidth);
return imgH;
}
獲取導航欄和狀態欄的高度
#pragma mark - 獲取導航欄和狀態欄的高度
-(CGFloat)barHeight{
//獲取導航欄和狀態欄的高度
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
CGRect navBarFrame = self.navigationController.navigationBar.frame;
CGFloat barHeight = statusBarFrame.size.height + navBarFrame.size.height;
return barHeight;
}
總結:
個人覺得這種類似注冊法律條文、操作說明、用戶手冊等,可用H5實現,iOS和android通過webView加載就行,既節省開發成本,有方便修改維護。
本人的一點開發小記,如果對你有幫助歡迎小????,另不吝賜教。