2012-08-30 4 views
0

많은 텍스트가 포함 된 UITextView가 있습니다. UITextView가 포함 된 하위보기가 표시되면 UITextView가 눌러져 스크롤 된 후에 만 ​​UITextView가 나타납니다.iOS 5 SDK UITextView 제한/버그?

UITextView에 표시 할 수있는 텍스트의 양에는 제한이 있습니까? 또는이 버그입니까?

첨부 된 것은이 발생을 설명하는 클립입니다.

https://dl.dropbox.com/u/8256776/UITextView%20Bug.MOV

+0

'UITextView'에 텍스트 한도가있는 경우, 훨씬 더 긴 텍스트가 포함 된 텍스트보기가 있으므로 아직 히트하지 않았습니다. 텍스트가 텍스트보기에서 어떻게 설정되는지에 대해 말할 수 있습니까? 그리고 어떻게 텍스트보기가 추가되는지 등등. – pajevic

+0

처음에는 단어 문서에서 인터페이스 빌더로 pastEd하고이 결과를 제공합니다. 그런 다음 텍스트를 붙여 넣으려고했는데 NSString으로 설정하고 viewDidLoad에서 해당 NSString에 UITextView.text를 설정했지만 동일한 결과가 나타납니다. – OscarTheGrouch

+0

코드 스 니펫이나 뷰 추가 방법에 대한 통찰력이 없으면 무엇이 잘못되는지 알아 내려고 정말 어렵습니다. – pajevic

답변

2

좋아, 나는 그것으로 보았다 매우 일반적인 문제가 될 것으로 보인다. 텍스트보기에서는 텍스트를 그려야한다고 느끼지 않지만, setNeedsDisplay을 호출하면 도움이되지 않는 것 같습니다. "진짜"해결책이 있다면 나도 몰라,하지만 당신은 프로그래밍 방식으로 스크롤하여 텍스트를 그릴 강제 할 수

disclaimerView.contentOffset = CGPointMake(0, 1); 
disclaimerView.contentOffset = CGPointMake(0, 0); 

코드에 관련이없는 것 : 당신의 switchView 방법에서 두 개의 애니메이션을 가지고, 하나는 메뉴보기 용이고 다른 하나는보기에 대한 슬라이드입니다. 같은 애니메이션에 모두 setFrame 전화를 넣을 수있는이 불필요 :

MenuView = (UIView *)[self.view viewWithTag:100]; 
appView = (UIView *)[self.view viewWithTag:ViewInt]; 
[MenuView setFrame:CGRectMake(0, 0, 320, 480)]; 
[appView setFrame:CGRectMake(321, 0, 320, 480)]; 
[UIView beginAnimations:@"move buttons" context:nil]; 
[UIView setAnimationDuration:.5]; 
[MenuView setFrame:CGRectMake(-320, 0, 320, 480)]; 
[appView setFrame:CGRectMake(0, 0, 320, 480)]; 
disclaimerView.contentOffset = CGPointMake(0, 1); 
disclaimerView.contentOffset = CGPointMake(0, 0); 
[UIView commitAnimations]; 

그리고 한 가지 더 (그리고 내가 물러나합니다 :)) 당신은 요소를 검색하기 위해 태그를 사용하여 아주 좋아하는 것 같다. 그것이 작동하는 동안, 그것은 아주 이해할 수 없습니다. 많은 요소가 없으므로 각각을 IBOutlet이라는 의미있는 이름으로 추가합니다 (예 : disclaimerView처럼). 또한 이동하려는 여러보기에 대해 별도의 switchView 방법을 사용하십시오. 그렇게하면 disclaimerView의 강제 스크롤과 같이 해당보기에만 필요한 추가 작업을 쉽게 수행 할 수 있습니다.

+0

힌트. 나는 같은 블록에 여러 개의 애니메이션을 설정할 수 있다는 것을 알지 못했다. 태그를 사용하는 이유는 모든 하위 뷰의 이름을 지정하지 않고 하나의 버튼에서 하위 뷰를 호출하는 우아한 방법을 생각할 수 없다는 것입니다. 모든 위대한 정보, 정말 고마워. – OscarTheGrouch

+0

재미있게 "블록"이라고 말해야합니다. 실제로 iOS 4 이후로 생각 나게하기 때문입니다.0 애니메이션을 수행하는 권장 방법은 실제로 블록을 사용하는 것입니다. 예를 들어'animateWithDuration : animations :'메소드를 사용하는 것입니다. 'beginAnimations' /'commitAnimations'를 사용하는 것은 권장하지 않습니다. – pajevic