popover는 iPad에서만 되는 것으로 보인다.
iPhone app은 모든 viewController가 전체 화면으로 구현 해야 하는 것 같다.
storyboard에 어떻게 view 만을 정의 하고 그 것을 현재 viewController에 view에 추가 하느냐?
결론은 안되더라
현재 알바로 의뢰 받아 작업중인 앱에 디자인 가이드에서는 표준 alertView가 아닌
팝업 창이 디자인 되어 있으며
이 팝업 창이 뜰때 기존에 보이던 viewController의 전체 view는 dark색이 65% alpha 값으로
가려져야 하는게 미션이다.
구현 방법은 정답은 아닐수 잇으며 여러 삽질에 삽질 끝에 구현한 방법이다.
스토리 보드에 추가 하려는 viewController의 디자인을 마무리 한다.
스토리 보드에 새로운 viewController를 추가 한 다음 어떠한 방법으로도 iphone에서는
pop을 할수 없음을 깨달았다. 그러므로 바로 포기하고 새파일을 만든다.
오래된 방법인 xib를 추가한다.
디자인을 한다.
포인트는 View를 추가해서 투명도 65%에 검정 뷰를 하나 추가 한다.
소스를 추가 해서 NotiView라는 클래스 파일과 헤더 파일을 작성 한다.
xib를 초기화 하는 init 코드가 필요 하다.
- (id) initWithCoder:(NSCoder *)aDecoder {
if(self = [super initWithCoder:aDecoder]) {
[[NSBundle mainBundle] loadNibNamed:@"NotiView" owner:self options:nil];
[self addSubview:view];
}
return self;
}
뷰를 보이지 않게 할 수 있다.
#pragma -IB Action -
- (IBAction)CloseButtonClick:(id)sender {
[self setHidden:YES];
}
스토리 보드로 돌아 와서 추가하려는 viewController에 view를 추가 하고 가장 하위 바닥에
viwe를 넣는다.
그리고 그 view의 클래스 파일을 NotiView로 연결 한다.
Hidden을 YES로 설정 하고 NotiView 를 IBOutlet으로 연결 하여 코드에서 Hidden을 NO
로 하여 팝업 창이 나타나는 효과를 내준다.
댓글 3개:
UIAlertController 를 살펴 보셨는지요?
혹시 전체소스 받아볼수 있을까요..?
댓글 쓰기