将滚动视图添加到视图

时间:2016-06-07 22:38:34

标签: ios uiscrollview

我已经尝试了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

当我尝试在模拟器上用鼠标向上滚动时,从来没有任何响应。我使用故事板创建了我的视图控制器的背景图像。改变指数会有什么不同吗?

3 个答案:

答案 0 :(得分:2)

这是因为您添加了手势识别器。手势识别器阻止而不是通过你的触摸。 您可以使用UIScrollView解决键盘:

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

删除UITapGestureRecognizer。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

诀窍是将视图添加到scrollview。

即:

查看> ScrollView> 查看我想要滚动

查看我要滚动> 滚动型。