2010-05-06 5 views
0

유형이 UIScrollView 인 세부 정보 페이지가 있습니다. 그것에 선택적 UIImageView 및 필수 UITextView 싶어요. 사용할 수있는 이미지가 없으면 이미지보기에 공간이 없어야합니다. 텍스트보기의 텍스트는 다양한 크기 일 수 있습니다.스크롤하는 내용이있는 UiScrollView

예를 들어 이미지와 텍스트가 포함 된보기가로드되면 모든 내용을 스크롤 할 수 있어야합니다. 따라서 이미지가 화면 상단에서 빠져 나옵니다.

나는이 작품을 얻을 수 없어, 나는 그것이 쉬워야한다고 느낀다. 어떤 아이디어?

답변

0

당신의 의견의 크기에 setContentSize를 호출해야합니다.

CGRect frameOfImage; 
CGRect frameOfText; 
CGRect frameOfContent; 

frameOfImage.origin = CGPointZero; 
frameOfImage.size = myImage ? [myImage size] : CGSizeZero; 

[myImage setFrame:frameOfImage]; 

frameOfText.origin.x = 0; 
frameOfText.origin.y = frameOfImage.origin.y + frameOfImage.size.height; 
frameOfText.size = [myText.text sizeWithFont:myText.font forWidth:myScroll.bounds.width lineBreakMode:myText.lineBreakMode]; 

[myText setFrame:frameOfText]; 

frameOfContent = CGRectUnion(frameOfImage , frameOfText); 
frameOfContent.size.height += frameOfContent.origin.y; 
frameOfContent.size.width += frameOfContent.origin.x; 

[myScroll setContextSize:frameOfContent.size]; 

당신이 이미지인지 여부를 알 때 당신은 사용자 정의있는 UIScrollView의 layoutSubviews 또는 컨트롤러에서 한 번에 모든 그것의 마지막 비트를 할 수 있습니다.

0

UIScrollView 이후에 상속되는 자체보기를 만들어야합니다.

을 : 당신이 다음

- (void) layoutSubviews; 

는, 이미지의 크기 (다음 사이에 추가 간격) 텍스트의 크기가 계산 덮어 쓰기해야하고 YourScrollView 사용자 정의에서

사용하여 스크롤 뷰의 contentSize을 설정 이 도움이

[self setContentSize:CGSizeMake(CGRectGetWidth(self.bounds), yourCalculatedHeight)]; 

희망, 폴

관련 문제