
- iOS 教程
- iOS - 主頁
- iOS - 入門
- iOS - 環境搭建
- iOS - Objective-C 基礎
- iOS - 第一個 iPhone 應用程式
- iOS - 動作和 outlet
- iOS - 委託
- iOS - UI 元素
- iOS - 加速器
- iOS - 通用應用程式
- iOS - 攝像頭管理
- iOS - 位置處理
- iOS - SQLite 資料庫
- iOS - 傳送電子郵件
- iOS - 音訊 & 影片
- iOS - 檔案處理
- iOS - 訪問地圖
- iOS - 應用內購買
- iOS - iAd 整合
- iOS - GameKit
- iOS - Storyboard
- iOS - 自動佈局
- iOS - Twitter & Facebook
- iOS - 記憶體管理
- iOS - 應用程式除錯
- iOS 有用資源
- iOS - 快速指南
- iOS - 有用資源
- iOS - 討論
iOS - 滾動檢視
滾動檢視的使用
滾動檢視用於顯示大小超過螢幕的內容。它可以包含所有其他 UI 元素,如圖片檢視、標籤、文字檢視甚至另一個滾動檢視本身。
重要屬性
- contentSize
- contentInset
- contentOffset
- delegate
重要方法
- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
重要委託方法
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate - (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
照如下方式更新 ViewController.h−
透過新增 < UIScrollViewDelegate> 並宣告一個滾動檢視例項(如下所示在 ViewController.h 中展示)使你的類符合滾動檢視委託協議。
#import <UIKit/UIKit.h> @interface ViewController : UIViewController<UIScrollViewDelegate> { UIScrollView *myScrollView; } @end
新增自定義方法 addScrollView
-(void)addScrollView { myScrollView = [[UIScrollView alloc]initWithFrame: CGRectMake(20, 20, 280, 420)]; myScrollView.accessibilityActivationPoint = CGPointMake(100, 100); imgView = [[UIImageView alloc]initWithImage: [UIImage imageNamed:@"AppleUSA.jpg"]]; [myScrollView addSubview:imgView]; myScrollView.minimumZoomScale = 0.5; myScrollView.maximumZoomScale = 3; myScrollView.contentSize = CGSizeMake(imgView.frame.size.width, imgView.frame.size.height); myScrollView.delegate = self; [self.view addSubview:myScrollView]; }
注意−
我們必須將一張名為"AppleUSA1.jpg"的圖片新增到我們的專案中,可以將圖片拖到導航器區域(列出了我們的專案檔案),圖片的解析度應高於裝置以檢視影像的滾動。
在 ViewController.m 中實現 scrollView 委託
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { return imgView; } -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { NSLog(@"Did end decelerating"); } -(void)scrollViewDidScroll:(UIScrollView *)scrollView { // NSLog(@"Did scroll"); } -(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { NSLog(@"Did end dragging"); } -(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView { NSLog(@"Did begin decelerating"); } -(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView { NSLog(@"Did begin dragging"); }
照如下方式在 ViewController.m 中更新 viewDidLoad−
(void)viewDidLoad { [super viewDidLoad]; [self addScrollView]; //Do any additional setup after loading the view, typically from a nib }
輸出
執行應用程式後,我們將獲得以下輸出。滾動滾動檢視後,即可看到影像的其餘部分。

ios_ui_elements.htm
廣告