UIScrollView
はUIView
(ContentViewとして)、UITableView
と2つのUIWebView
(imgを参照)があります。私はViewControllerに配置する必要があります。xboxからScrollViewの制約を追加する
:
- (OrderInfoScrollView *)loadObject {
OrderInfoScrollView *result = nil;
NSArray* elements = [[NSBundle mainBundle] loadNibNamed: @"OrderInfoView" owner:self options: nil];
for (id anObject in elements)
{
if ([anObject isKindOfClass:[self class]])
{
result = anObject;
break;
}
}
return result;
}
それは正常に動作しますが、私はこのために制約を追加することはできません。
OrderInfoScrollView *newView = [[OrderInfoScrollView alloc] loadObject];
[self.view addSubview:newView];
し、initは次のようになります。私はequal width to self.view, leading space = 3, top margin = 0
にする必要があります。
私はすでにこの試みた:
UIView *superView = self.OrderInfoView;
[superView addSubview:newView];
NSDictionary *views = NSDictionaryOfVariableBindings(superView, newView);
NSArray *equalWidthConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"[newView]" options:0 metrics:nil views:views];
NSArray *verticalConstraints =[NSLayoutConstraint
//NSArray *equalWidthConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"[newView(==superView)]" options:0 metrics:nil views:views];
NSArray *verticalConstraints =[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[newView]" options:0 metrics:nil views:views];
NSArray *horizontalConstraints =[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[newView]" options:0 metrics:nil views:views];
[superView addConstraints:equalWidthConstraints];
[superView addConstraints:horizontalConstraints];
[superView addConstraints:verticalConstraints];
そして、このような何か:
NSLayoutConstraint *constraint = [NSLayoutConstraint
constraintWithItem:newView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeWidth
multiplier:1.0f
constant:0.0f];
[self.view addConstraint:constraint4];
はまた、私は追加のUIView
を配置し、これに私のスクロールビューを追加しようとしました(助けにはならなかったが)。構造はこのようなものだった:
-UIView
--UIView
---UIScrollView
私はsetTranslatesAutoresizingMaskIntoConstraints:NO
と新しいアプローチを試みたが、この場合には、私のUIScrollView
はまったく表示されません。
[newView setTranslatesAutoresizingMaskIntoConstraints:YES];
NSLayoutConstraint *width =[NSLayoutConstraint
constraintWithItem:newView
attribute:NSLayoutAttributeWidth
relatedBy:0
toItem:self.view
attribute:NSLayoutAttributeWidth
multiplier:1.0
constant:0];
[self.view addConstraint:width];
私は本当にこれを再利用する必要がありますUIScrollView
。