Ich habe UIScrollView
mit UIView
(als ContentView) mit UITableView
und zwei UIWebView
(siehe img). Ich muss es auf ViewController legen.Fügen Sie Einschränkungen für ScrollView von Xib
Wie ich es jetzt tun:
OrderInfoScrollView *newView = [[OrderInfoScrollView alloc] loadObject];
[self.view addSubview:newView];
und init sieht aus wie:
- (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;
}
Es funktioniert gut, aber ich kann nicht Einschränkungen für diese hinzufügen. Ich brauche equal width to self.view, leading space = 3, top margin = 0
.
Ich habe versucht, das schon:
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];
Und so etwas wie dieses:
NSLayoutConstraint *constraint = [NSLayoutConstraint
constraintWithItem:newView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeWidth
multiplier:1.0f
constant:0.0f];
[self.view addConstraint:constraint4];
Auch habe ich versucht, zusätzliche UIView
zu setzen und meine Ansicht blättern diese in den (nicht helfen). Die Struktur war wie folgt aus:
-UIView
--UIView
---UIScrollView
Ich versuchte setTranslatesAutoresizingMaskIntoConstraints:NO
und neuen Ansatz, aber in diesem Fall meine UIScrollView
gar nicht erscheinen.
[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];
Irgendwelche Idee? Ich muss wirklich diese UIScrollView
wiederverwenden.