2014-09-06 86 views
0

我试图添加按钮滚动视图内与中心约束, 约束工作,但滚动不灵滚动卡住, 任何人都可以帮助我在哪里出错,添加约束滚动后无法正常工作

-(void)viewDidLoad{ 
scrllview = [[UIScrollView alloc] initWithFrame: 
       [[UIScreen mainScreen] applicationFrame]]; 
    scrllview.backgroundColor = [UIColor orangeColor]; 
    self.view=scrllview; 
    [scrllview setContentSize:CGSizeMake(300, 1000)]; 


    submitButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [submitButton setTitle:@"connect" forState:UIControlStateNormal]; 
    [submitButton.titleLabel setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:14.0]]; 
    [submitButton addTarget:self 
        action:@selector(myMethod:) 
      forControlEvents:UIControlEventTouchUpInside]; 
    submitButton.backgroundColor = [UIColor blackColor]; 
    submitButton.translatesAutoresizingMaskIntoConstraints = NO ; 
    [scrllview addSubview:submitButton]; 

    NSLayoutConstraint *constraint = [NSLayoutConstraint 
             constraintWithItem:submitButton 
             attribute:NSLayoutAttributeCenterX 
             relatedBy:NSLayoutRelationEqual 
             toItem:scrllview 
             attribute:NSLayoutAttributeCenterX 
             multiplier:1.0f 
             constant:0.0f]; 

    [scrllview addConstraint:constraint]; 

    constraint = [NSLayoutConstraint 
        constraintWithItem:submitButton 
        attribute:NSLayoutAttributeCenterY 
        relatedBy:NSLayoutRelationEqual 
        toItem:scrllview 
        attribute:NSLayoutAttributeCenterY 
        multiplier:1.0f 
        constant:0.0f]; 

    [scrllview addConstraint:constraint]; 
} 

回答

1

虽然你正在使用scrollview和autolayout,你不应该使用contentsize。

您可以在滚动视图内创建一个视图,该视图应该具有所需的相对于滚动视图的高度和约束。您可以在该视图中添加按钮。

它会工作。我用xib实现了它。直接在滚动视图中添加控件时出现同样问题。我在scrollview中使用了视图并添加了需要的控件来查看。

Auto layout UIScrollView with subviews with dynamic heights

+0

THX重播......你可以建议我任何例子或链接,因为去年5小时我已经在做这个,但仍然没有落实。 – 2014-09-06 13:16:56

+0

我没有在网上找到任何示例或链接。但我确定,它会像我说的那样工作。我在其中一个产品中实施,所以我不能共享代码。你能寄给我一些不起作用的示例代码吗?我会修复它并向你发送更新。 – 2014-09-06 13:38:23

+0

我在scrollview中只使用了一个按钮,并给了scrollview.plz的包含大小的编辑并使上面的代码正确。 – 2014-09-06 13:46:24