我在UILabel
的子视图中有几个UIScrollView
。我相信我的设置与我在另一个视图控制器中的功能UIScrollView
完全相同,只有这一个不会滚动。 contentSize
设置为更大而不是滚动视图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
我得到 scrollview框架大小,contentview框架大小:240.000000 x 128.000000,320.000000 x 568.000000 作为日志打印输出,但我从来没有从委托方法获取语句。 scrollview是视图控制器的唯一子节点,因此当我尝试滚动时它应该接收触摸事件。发生了什么事?
答案 0 :(得分:-1)
您需要实现viewForZoomingInScrollView:并返回_contentView。