2016-06-07 117 views
0

我尝试过Adding UIScrollView to a UIViewController,我无法在滚动时向下移动视图,无论是在真实设备上的模拟器上。我也曾尝试增加大小,所以我的代码如下:向视图添加滚动视图

+(void)addScrollViewToView:(UIView *)view 
{ 
    UIScrollView* scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, view.bounds.size.width * 2, view.bounds.size.height * 2)]; 
    scrollView.backgroundColor = [UIColor clearColor]; 
    scrollView.scrollEnabled = YES; 
    scrollView.pagingEnabled = YES; 
    scrollView.showsVerticalScrollIndicator = YES; 
    scrollView.showsHorizontalScrollIndicator = YES; 
    scrollView.contentSize = CGSizeMake(view.bounds.size.width * 2, view.bounds.size.height * 2); 
    [view insertSubview:scrollView atIndex:0]; 
    //[view sendSubviewToBack:scrollView]; - commented out 
} 

据中viewDidLoad中被称为像这样:

@implementation MyLoginViewController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [Utils addScrollViewToView:self.view]; 

    self.passwordTextField.secureTextEntry = YES; 

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] 
            initWithTarget:self 
            action:@selector(dismissKeyboard)]; 

    [self.view addGestureRecognizer:tap]; 

} // viewDidLoad method ends here 

从未有任何反应,当我试着和滚动我鼠标在模拟器上。我的视图控制器有一个背景图片,我使用故事板创建。改变指数会有什么不同吗?

回答

0

把这个视图添加到滚动视图的诀窍是什么?

即:

查看> 滚动型> 查看,我想滚动

不:

查看,我想滚动> 滚动型。

2

发生这种情况是因为您添加了手势识别器。手势识别器阻止并且不通过您的触摸。 您可以将此与UIScrollView的关闭键盘:

+(void)addScrollViewToView:(UIView *)view 
{ 
    // your code 
    scrollView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag; 
} 

和删除UITapGestureRecognizer。

1

还是因为您的框架尺寸与您的内容尺寸相同?滚动视图只会在其内容大于其框架时滚动。