다른보기에 UIViewController/uiview를 표시합니다
-
03-07-2019 - |
문제
나는 바로 위에 위치한 '완료된'버튼이있는 피커 컨트롤러를 만들어 다른 뷰에있는 양식에 표시하려고합니다.
UIViewController의 하위 클래스를 만들었고 IB를 사용하여 도구 모음과 선택기보기를 추가했습니다. 이것은 괜찮아 보이며 Uicatalog의 예제를 복사하면 필요한 값을 표시 할 수 있으며 선택 등을들을 수 있습니다.
Alt Text http://web.me.com/gareth.davis/so/settlement_picker_ui.png
위의 내용에서는보기의 배경색을 알파 0.0으로 설정했습니다. 나는 또한보기의 알파를 자아의 알파를 0.0으로 설정하려고 시도했지만 이것은 완전히 투명한보기만을 나타냅니다.
Alt Text http://web.me.com/gareth.davis/so/picker_running_in_app.png
위는 다음을 사용하여 내 양식 상단에 표시되는 뷰 컨트롤러입니다.
[self presentModalViewController:settlementPickerViewController
animated:YES];
내 시야의 다양한 알파 특성을 설정하는 것 외에도 투명한 섹션이 필요하지 않도록보기의 높이를 변경하려고 시도했습니다. 문제는 뷰가 화면의 절반에 위치한다는 것입니다.
해결책
솔루션은 UIViewController를 사용하지 않는 것 같습니다. 대신 간단한 사용자 정의 UIView가 작업을 잘 수행합니다.
나는 awakefromnib 방법에서 Haentz의 컬러 설정을 사용했습니다.
- (void)awakeFromNib {
picker.delegate = self;
self.backgroundColor = [UIColor clearColor];
}
X- 코드 템플릿이 NIB 제어 뷰가 initwithFrame (Apple 문서)을 사용하지 않는 InitWithFrame 메소드를 사용하지 않고이를 구현해야합니다.
다른 팁
아마도 나는 그것을 얻지 못하지만 여기서 문제가 무엇인지 정확히 이해하지 못합니다. 하단 스크린 샷에서 UI 요소가 위의 흰색 영역없이 투명해야합니까? UIViewController에서 uiview의 프레임을 적절하게 설정해야하며 배경색 투명을 설정해야 할 것 같습니다.
self.view.backgroundColor = [UIColor clearColor];
IB를 사용하지 않기 때문에 확실하지 않지만 기본보기의 배경색의 알파 값을 0으로 설정할 수 있습니다.보기 자체의 알파가 아니라 배경색입니다.