- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
ChildViewController *childviewcontroller = [[ChildViewController alloc] initWithNibName:@"ChildViewController" bundle:nil];
[self addChildViewController:childviewcontroller];
[self.view addSubview:childviewcontroller.view];
[childviewcontroller willMoveToParentViewController:self];
UIView *cview = [[UIView alloc] init];
cview = childviewcontroller.view;
[self.view removeConstraints:self.view.constraints];
NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(cview);
[self.view addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"H:|-[cview]-|"
options:0 metrics:nil
views:viewsDictionary]];
}
Chcę dodać widok podglądu childviewcontroller nad widokiem rodzica. Po dodaniu ustawiam ograniczenie, ale nie działa ono dla mnie.Jak dodać widok kontrolera widoku podrzędnego do nadrzędnego widoku
Jestem również coraz ostrzeżenia takie jak ta
2013-07-25 10:47:30.564 neenah[1105:c07] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this: (1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't
understand, refer to the documentation for the UIView
property translatesAutoresizingMaskIntoConstraints)
(
"<NSLayoutConstraint:0x9256c90 H:|-(NSSpace(20))-[UIView:0x9256a00] (Names: '|':UIView:0x92557a0)>",
"<NSAutoresizingMaskLayoutConstraint:0x755d690 h=--& v=--& H:[UIView:0x9256a00(320)]>",
"<NSAutoresizingMaskLayoutConstraint:0x755d5a0 h=--& v=--& UIView:0x9256a00.midX == + 160>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x9256c90 H:|-(NSSpace(20))-[UIView:0x9256a00] (Names: '|':UIView:0x92557a0)>
Break on objc_exception_throw to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
2013-07-25 10:47:30.567 neenah[1105:c07] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
"<NSLayoutConstraint:0x9256bb0 H:[UIView:0x9256a00]-(NSSpace(20))-| (Names: '|':UIView:0x92557a0)>",
"<NSAutoresizingMaskLayoutConstraint:0x7561690 h=--- v=--- H:[UIWindow:0x92527c0(320)]>",
"<NSAutoresizingMaskLayoutConstraint:0x755fe50 h=-&- v=-&- UIView:0x92557a0.width == UIWindow:0x92527c0.width>",
"<NSAutoresizingMaskLayoutConstraint:0x755d690 h=--& v=--& H:[UIView:0x9256a00(320)]>",
"<NSAutoresizingMaskLayoutConstraint:0x755d5a0 h=--& v=--& UIView:0x9256a00.midX == + 160>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x9256bb0 H:[UIView:0x9256a00]-(NSSpace(20))-| (Names: '|':UIView:0x92557a0)>
Break on objc_exception_throw to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
Trzeba tylko tę linię do tego [self.view addSubview: childviewcontroller.view]; –
Zrobiłem to w mojej drugiej linii, moim problemem jest to, że moje ograniczenie nie działa tutaj. @Puneet –
@DhiyanesKaeYes Jeśli zamierzasz użyć autolayout do tego, (a) brakuje Ci @ "V: | - [cview] - |" zestaw ograniczeń; i (b) prawdopodobnie chcesz "cview.translatesAutosizingMaskIntoConstraints = NO". – Rob