[英]To scroll UIScrollView programmatically but don't handle only this action in delegate methods?
[英]UIScrollView won't scroll, delegate methods never called
我在UIScrollView
的子視圖中有幾個UILabel
。 我相信我已經像在另一個視圖控制器中正常運行的UIScrollView
一樣對其進行了設置,僅此一個不會滾動。 contentSize
設置為大於 scrollview frame
大小,scrollview delegate
設置為self
。 視圖在Interface Builder中連接, UIScrollview
啟用了滾動,反彈,用戶交互和多點觸摸。 子UIView
也啟用了用戶交互。 這是我的代碼:
.h文件
#import <UIKit/UIKit.h>
@interface CreditsViewController : UIViewController <UIScrollViewDelegate>
@end
.m文件
#import "CreditsViewController.h"
@interface CreditsViewController ()
@property (nonatomic, strong) IBOutlet UIScrollView *scrollView;
@property (nonatomic, strong) IBOutlet UIView *contentView;
@end
@implementation CreditsViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.scrollView.delegate = self;
_scrollView.contentSize = _contentView.frame.size;
NSLog(@"scrollview frame size, contentview frame size: %f x %f, %f x %f", _scrollView.frame.size.width, _scrollView.frame.size.height, _contentView.frame.size.width, _contentView.frame.size.height);
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
NSLog(@"in scrollViewWillBeginDragging");
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
NSLog(@"in scrollViewDidScroll");
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end
我得到滾動視圖框架大小,內容視圖框架大小:240.000000 x 128.000000,320.000000 x 568.000000作為日志打印輸出,但是我從未從委托方法中獲得語句。 scrollview是視圖控制器的唯一子級,因此在我嘗試滾動時它應該接收觸摸事件。 這是怎么回事?
您需要實現viewForZoomingInScrollView:並返回_contentView。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.