오늘 신사 숙녀 여러분, 제정신의 모습을 거의 잃어 버렸습니다. Interface Builder는 그것을 제거하려고합니다. 저는 iOS 개발자의 새로운 기능으로 모든 종류의 다양한 작업으로 책을 읽습니다. 내가하려고하는 것은 두 번 탭을 사용하여보기를 호출하는 것입니다. 이것은 제스처 인식기 및 도청에 관한 것이 아니라 순전히 콘센트에 관한 것입니다.Interface Builder에서 UIView 콘센트 만들기
1) 작은 메뉴가 그려지는 xib 파일이 있습니다. 2) 두 번 탭하면 제게이 메뉴가 나타납니다.
- (void)displayPanel:(UIGestureRecognizer *)gesture{
CGRect frame = CGRectMake(0, self.window.frame.size.height-100, self.window.frame.size.width, 90);
NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:@"colorMenuView" owner:self options:nil];
UIView *colorView = [nibContents lastObject];
[colorView setFrame:frame];
[self.window addSubview:colorView];
[self.window setNeedsDisplay];
}
좋은 작은 메뉴가 하단에 그려진 :
이것은 나를 위해 일하는 내가 그것을 가지고 방법입니다.
그러나 나는 이것을 NSBundle
의 마지막 객체로하지 않으려 고합니다. 좋은 접근 방법이라고 생각하지 않습니다. 내 메뉴를 보유하고 UIView에 콘센트 연결을 만들어 이것을하고 싶습니다.
(I 일부 사진을 게시 한 것입니다하지만 난 아직 충분히 명성을 가지고하지 않은 경우) 내가, 콘센트
을 강조되지 수없는 연결을하려고하면를 I 보기의 클래스를 UIView
에서 CustomView
으로 변경합니다. 레이블 및 버튼과 같은 하위 뷰를 연결하여 작동하는 것처럼 보입니다. 나는 여전히보기를 연결할 수 없습니다.
이제 IB에 다른 표준보기를 추가합니다. 그리고 연결을 시도하십시오. 그것은 작동합니다! 그리고 사용자 정의보기에 연결하려고하면 그렇지 않습니다.
이제 사용자 정의보기가 다시 표준으로 변경되었습니다. 어느보기도 연결할 수 없습니다.
확인보기 중 하나를 사용자 지정으로 변경하고 다른보기를 연결할 수 있습니다. 그것은 작동합니다.
는의 현재 메뉴를 호출하는 또 다른 방법의 구현을하자 :- (void)displayPanel:(UIGestureRecognizer *)gesture{
CGRect frame = CGRectMake(0, self.window.frame.size.height-100, self.window.frame.size.width, 90);
[[NSBundle mainBundle] loadNibNamed:@"colorMenuView" owner:self options:nil];
UIView *menu = self.menuView; // the outlet
self.menuView.frame = frame;
[self.window addSubview:menu];
[self.window setNeedsDisplay];
}
나는 위의 덩어리에 대한 오류가 없습니다. 그러나 메뉴는 여전히 표시되지 않습니다. 그리고 그것은 사실상 시작되지 않았습니다.
2 가지를 이해하도록 도와주세요. 1) IB가하는 일을 왜하는지? 2) 내가 마침내 연결 한 메뉴가 왜 0입니까?
답장을 보내 주셔서 감사합니다. 나는 다른 ViewController를 만드는 것에 대해 생각해 봤는데 나는 그렇게 할 수 있어야한다고 생각한다. 하지만 뷰 컨트롤러 없이도 가능하다고 생각하십니까? UIView를 호출하는 CustomView? – Andrey