使用带自动布局的滚动条

时间:2015-09-09 04:12:27

标签: ios autolayout

我正在使用autolayout。我只能将constraints添加到view,但在最大的情况下,我必须使用滚动条。因此,如果我使用CGRectmake方法在view上添加scrollView。然后它不会在横向模式下更改尺寸。

纵向模式下的快照:

enter image description here

enter image description here

横向模式下的快照:

enter image description here

enter image description here

代码:

    UIScrollView *scrllView=[UIScrollView new];
    [scrllView setTranslatesAutoresizingMaskIntoConstraints:NO];

    [self.view addSubview:scrllView];
    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:scrllView attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTrailing multiplier:1.0 constant:0]];

    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:scrllView attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeading multiplier:1.0 constant:0]];


    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:scrllView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTop multiplier:1.0 constant:0]];

    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:scrllView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1 constant:0]];


    [scrllView setContentSize:CGSizeMake(self.view.frame.size.width, 1000)];


    UIView *SBV=[UIView new];
   [SBV setFrame:CGRectMake(0, 0, self.view.frame.size.width,1000)];
   [SBV setTranslatesAutoresizingMaskIntoConstraints:YES];
   [SBV setBackgroundColor:[UIColor redColor]];
   [scrllView addSubview:SBV];

    UIButton *BTN=[UIButton new];

    [BTN setTranslatesAutoresizingMaskIntoConstraints:NO];

    [BTN setTitle:@"UPSide" forState:UIControlStateNormal];

    [BTN setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

    [SBV addSubview:BTN];


    [SBV addConstraint:[NSLayoutConstraint constraintWithItem:BTN attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual toItem:SBV attribute:NSLayoutAttributeLeading multiplier:1.0 constant:100]];

    [SBV addConstraint:[NSLayoutConstraint constraintWithItem:BTN attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:SBV attribute:NSLayoutAttributeLeading multiplier:1.0 constant:0]];


    [SBV addConstraint:[NSLayoutConstraint constraintWithItem:BTN attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:SBV attribute:NSLayoutAttributeTop multiplier:1.0 constant:0]];

    [SBV addConstraint:[NSLayoutConstraint constraintWithItem:BTN attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:0 constant:100]];


    UIButton *BTN1=[UIButton new];
    [BTN1 setTranslatesAutoresizingMaskIntoConstraints:NO];
    [BTN1 setTitle:@"DOWNSide" forState:UIControlStateNormal];
    [BTN1 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    [SBV addSubview:BTN1];


    [SBV addConstraint:[NSLayoutConstraint constraintWithItem:BTN1 attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual toItem:SBV attribute:NSLayoutAttributeLeading multiplier:1.0 constant:100]];

    [SBV addConstraint:[NSLayoutConstraint constraintWithItem:BTN1 attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:SBV attribute:NSLayoutAttributeLeading multiplier:1.0 constant:0]];


    [SBV addConstraint:[NSLayoutConstraint constraintWithItem:BTN1 attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:SBV attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0]];

    [SBV addConstraint:[NSLayoutConstraint constraintWithItem:BTN1 attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:0 constant:100]];

如何创建应在横向和porttrait模式下工作的视图?

0 个答案:

没有答案