2 개의 사용자 정의 UIView가 UIViewController에 추가되어 있고 NSLayoutConstraint를 사용하여 정렬됩니다. UIViewController 뷰에 NSLayoutConstraint를 적용한 후 사용자 정의 UIView의 UIButton은 더 이상 터치 이벤트를받지 않습니다.서브 뷰의 UIButton이 NSLayoutConstraint 후에 터치를받지 못합니다.
- (void)viewDidLoad
{
[super viewDidLoad];
navigationBar = [[DtNavigationBar alloc] initWithFrame:CGRectMake(0,0,320,45)];
[navigationBar setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.view addSubview:navigationBar];
switchBar = [[DtSwitch alloc] initWithFrame:CGRectMake(0,0,320,44)];
[switchBar setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.view addSubview:switchBar];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[navigationBar(45)]-0-[switchBar(44)]-(>=100)-|"
options:NSLayoutFormatAlignAllLeft metrics:nil
views:NSDictionaryOfVariableBindings(switchBar, navigationBar)]];
}
는 DtNavigationBar 및 DtSwitch 모두 여전히 적절한 장소에 표시있는 UIButton 전망을 가지고 있지만 더 이상 터치에 반응하지 않습니다.
addConstraints 부분을 제거하고 뷰를 수동으로 배치하면 버튼이 정상적으로 작동합니다.
와우 덕분에 나는 그것에 대해 생각해 본 적이 없었습니다. – dowi