2012-03-07 5 views
0

나는 무언가와 싸우기 때문에 아주 바보 같은 느낌이 들지만, 어딘가 내 Xcode에 숨겨진 sabouteur가 있습니다.고전적인 디자인과 사소한 문제 UIScrollView

UI가 StoryBoard에 내장되어 있습니다.

위 UINavigationBar 및 UIScrollView가 포함 된 모달보기가 있습니다 ... scrollview 내부에 일부 텍스트 필드가 있습니다. 이제 텍스트 필드에서 텍스트를 편집하기 시작하면 키보드가 튀어 나오는 것을 이해합니다. 괜찮아. NotificationCenter를 통해 그 순간을 추적하고 있습니다. 즉 물론

-(void)keyboardDidShow:(NSNotification *)notification 
    { 
    ... code changing the frame 
    } 

을 발생하면

[notificationCenter addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil]; 

내가 선택기를 호출하고, 나는 최대한 빨리 새로 만든 CGRect "프레임을 연결하지만, 키보드를위한 공간을 만들기 위해있는 ScrollView의 크기를 조정해야 "scrollview의 프레임 값, scrollview 내 소원에 따라 크기를 조정하지 않고 대신 vieconntroller보기의 크기를 빼고 statusbar의 44 픽셀 빼기 ..

나는 이것에 이미 몇 시간을 잃었고, 그것은 나를 견디게한다. 도울 수 있니?

+0

새 프레임을 설정 한 곳에서 코드를 표시하십시오. – calimarkus

+0

나는 모션을 두 번째로 나타냅니다. 프레임을 변경 한 코드를 게시 하시겠습니까? UIScrollView의 또한, UIView에서 scrollview 또는 컨트롤러의 기본보기 무엇입니까? –

답변

1

첫 번째 이유는 무엇입니까? 왜 스크롤보기의 프레임을 변경해야합니까? 키보드는 어쨌든 모든 것 위에 나타납니다. 아마도 편집 BTW를 잡는 더 편리한 방법은 UITextFieldDelegate 프로토콜이지만, 여러분의 방법도 괜찮습니다.

두 번째 :보기 컨트롤러의 view 속성보기를 수정하려는 경우 프레임을 변경할 수 없습니다. 기본적으로 전체 화면 (상태 표시 줄 빼기, 탐색 표시 줄 빼기)입니다. 보기의 크기를 동적으로 조정하려면 서브보기가 self.view이어야합니다.

+0

iPhone에서 iOS5의 캘린더에 새 일정을 추가 할 때 표시되는 모달보기와 동일한 동작이 필요합니다. 내 모달보기에는 실제 화면이 동시에 표시 할 수있는 것보다 더 많은 텍스트 필드가 있습니다. –

+0

그래서 간단한 그룹화 된 테이블보기를 사용하고 모달로 표시하십시오. 나는 아직도 당신이 프레임을 바꾸고 싶은 이유를 모르겠다. 어쩌면 당신은'contentOffset'을 의미할까요? – Mundi