1. 程式人生 > >IOS UIScrollView滾動內容自適應

IOS UIScrollView滾動內容自適應

設計思路:調整contentSize即可:

本例未採用分類 ,而用子類擴充套件的方法,原始碼如下:

#import <UIKit/UIKit.h>


typedef NS_ENUM(NSInteger, Oritation) {
    
    horizontal = 1,
    vertical,
    
};

/**
 解決自適應滾動
 */
@interface AutoLayoutScrollView : UIScrollView



/**
 自適應內容滾動尺寸

 @param type 滾動方向
 */
-(void) autoContentSize:(Oritation) type;

@end
.m檔案為:
#import "AutoLayoutScrollView.h"

@implementation AutoLayoutScrollView


-(void) autoContentSize:(Oritation) type{

    CGFloat width = 0;
    CGFloat height= 0;
    
    for (UIView* view in self.subviews){
        height += view.frame.size.height;
        width += view.frame.size.width;
    }

    switch (type) {
            
        case horizontal:{
            self.contentSize = CGSizeMake(width, 0.0f);
        }
            break;
            
        case vertical:{
            
            self.contentSize = CGSizeMake(0.0f, height);
            
        }break;
            
        default:
            break;
    }
    
}



@end


測試程式碼:在vc中

  AutoLayoutScrollView* scrollView = [[AutoLayoutScrollView alloc] initWithFrame:CGRectMake(20, 50, 300, 300)];
    //scrollView.contentSize = CGSizeMake(300, 500);
    scrollView.backgroundColor = [UIColor grayColor];
    [self.view addSubview:scrollView];
    
    
    for(int i=0;i<7;i++){
        
        UILabel* test = [[UILabel alloc] initWithFrame:CGRectMake(0, 40 * i, 100, 50)];
        test.text = [NSString stringWithFormat:@"test:%d",i];
        [scrollView addSubview:test];
    }
    [scrollView autoContentSize:vertical];


相關推薦

IOS UIScrollView滾動內容適應

設計思路:調整contentSize即可: 本例未採用分類 ,而用子類擴充套件的方法,原始碼如下: #import <UIKit/UIKit.h> typedef NS_ENUM(NS

iOS uiwebview 大小跟隨內容適應

- (void)viewDidLoad {     [superviewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSString *str=

CSS如何實現div寬度根據內容適應

應用 錯誤 clas ftw strong 有效 不能 why 如何 CSS如何實現div寬度根據內容自適應:建議:盡可能的手寫代碼,可以有效的提高學習效率和深度。在實際應用中,可能有這樣的需求,那就是需要div根據內容進行寬度自適應。有很多開發者可能誤以為如果不設定div

簡單實現iframe的高度根據頁面內容適應(jQuery方式)

eight var 調用 pos jquery 出現 引用 main body 這篇文章主要介紹了簡單實現iframe的高度根據頁面內容自適應(jQuery方式),以及在ie瀏覽器下的相關問題 方式一: //註意:下面的代碼是放在和iframe同一個頁面中調用 $("

使表格隨著內容適應寬度

gpo clas pac 自適應 hit style pre span col td{  white-space: nowrap; }   簡單粗暴。使表格隨著內容自適應寬度

jQuery簡單實現iframe的高度根據頁面內容適應的方法(轉)

var contents color iframe meid clas 簡單實現 方式 根據 本文實例講述了jQuery簡單實現iframe的高度根據頁面內容自適應的方法。分享給大家供大家參考,具體如下: 方式1: //註意:下面的代碼是放在和iframe同一個

iOS:解決UITextView適應高度粘貼大量文字導致顯示不全的問題

tex 顯示 輸入框 textview size self. uitext sel lec 一、描述 在UITextView輸入框中粘貼大量的文字時,UITextView內容自適應高度計算出現誤差,導致整塊文字上移消失。 二、方案 在UITextView文字改變的監聽中

iOS-UILabel幾種適應情況

/** 1. 寬度不變的label,根據內容自適應高度 @param width 寬度 @param title 文字 @param font 字型 @return height */ + (CGFloat)getHeightByWidth:(CGFloat)width

calc()用於一行中中間內容適應

在面試前沒有想過中間內容自適應的問題,在一次面試中考官問到知道左右兩邊的欄的寬度如何讓中間的寬度自適應,但是回答的五花八門,回來後查了查使用css3中的calc()  其實calc是英文單詞calculate(計算)的縮寫,是css3的一個新增的功能,用來指定元素的長度。比如說,你可以

iOS 網路圖片大小適應

基於SDWebImage實現: __weak typeof(self)weakSelf = self; [self.imageView sd_setImageWithURL:[NSURL URLWithString:gM1.imageUrl] completed:^(UIImage * _N

基於JQ 根據輸入內容適應輸入框高度 支援輸入增高 渲染時設定高度和內容一致

// 呼叫方法 bootText('textarea', 50) // 第一個引數是class 或者 id 第二個引數是這個class或者id物件的最小高度 function bootText(cls, minHeight){ var idArr = $(cls);

iOS-談一談適應Cell的高度快取

目錄 系統如何計算的自適應高度? 系統計算的行高會不會被快取? 如何快取? 前幾天讀文件的時候發現一對方法 - (CGSize)systemLayoutSizeFittingSize:(CGSize)targetSize NS_AVAILABL

select 寬度跟隨option內容適應

傳統的select在沒有設定固定寬度的情況,會因為自身的 option 選項的裡,寬度最寬的option作為select本身的寬度 例如 可見效果為: select的寬度因為“寬度最寬的option作為select本身的寬度”導致select變寬 但是這跟我們想要的select寬度跟隨option內容自

ios圖片等比例適應UIImageview

有時候圖片的寬高不等於UIImageview的寬高,如果之間imageView.image = image的話,會發現圖片會變形, 這個時候只需:imageView.contentMode = UIViewContentModeScaleAspectFill; 就會發現圖片

iOS 中Label在適應寬高的同時設定文字行距行距

直接寫一個類別: .h檔案的方法介面 #import <UIKit/UIKit.h> @interface UILabel (Adaptive) /** * 自適應寬高同時調整行距 * * @param text label.text

七牛雲:使用七牛的銳智轉碼功能,簡單實現播放內容適應進行轉碼

文章目錄 前言 程式碼 結果 前言 銳智轉碼無需使用者指定輸出視訊的位元速率幀率等,而是由銳智轉碼依據源視訊場景內容智慧匹配最佳轉碼引數組合。 這個可以解決很大一部分的點播視訊 注:銳智轉碼目前僅支援視訊轉碼和視訊音訊同時轉碼,其

WKWebView內容適應寬度

NSString *jScript = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewpor

iOS UIScrollView滾動檢視/無限迴圈滾動/自動滾動

我是在UITableView的表頭裡建立的滾動檢視 別忘了籤協議 <UIScrollViewDelegate> #define WIDTH [[UIScreen mainScreen] bounds].size.width #define

解決 android 高低版本 webView 裡內容 適應螢幕的終極方法

http://www.cnblogs.com/linguanh/p/4927353.html 轉載請宣告出處(http://www.cnblogs.com/linguanh/)  一,先說下我的情況,大家可以對號入座(嫌無聊請跳過)       我的專案要求是這樣的

table 超多列 滾動適應 bootstrap

Table顯示滾動條,要先把table放到一個div中,控制overflow屬性為scroll <div style="overflow:scroll;"> ... </d