iPhone, iPad를 개발하다보면....참 코어쪽 소스코드를 단 1줄도 볼 수 없어서, 생기는 문제가 참 많다.
이것때문에 정말...2~3일을 그냥 보내기도 하고...
iPad에는 modal로 창을 띄울 때, 여러가지 모양으로 띄울 수 있다.
PageSheet라던지...FormSheet라던지...아니면 그냥 FullScreen으로
근데..UIModalPresentationFormSheet로 iPad에서 창을 띄우고, 거기서 키보드를 이용해서 글을 썼다고 가정하자.
resignFirstresponder 메소드를 이용하여, 키보드를 없애려고 하겠지만 없어지지 않는다.
무려 2일동안 삽질을 하다가...구글링 해보니 바로 나온다. 제길슨.
버그란다-_-
3.2.1에서는 없던 버그가 3.2.2에서 생겼고 여지껏 수정안하고 있단다. 미친 애플-_-;
누군가 해결책을 해놨는데...FormSheet 처럼 보이게 띄우는 것이다.
navi.modalPresentationStyle = UIModalPresentationPageSheet;
navi.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[ delegate.mainNavi presentModalViewController:navi animated:YES ];
navi.view.superview.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
navi.view.superview.frame = CGRectMake(navi.view.superview.frame.origin.x,
navi.view.superview.frame.origin.y,540.0f,620.0f);
UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
if( orientation == UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown )
navi.view.superview.center = CGPointMake(384, 512);
else
navi.view.superview.center = CGPointMake(512, 384);
navi는 modal로 띄울 뷰이고, mainNavi는 말그대로 부모 뷰이다. FormSheet로 띄울 때, 창의 크기가 540, 620이므로 수동으로 저렇게 주었다.
거의 비슷하게 뜬다. 참 젖같은 애플....
댓글 없음:
댓글 쓰기