2013-12-12 2 views
0

나는 일반적으로 소스 코드와 UI 예제를 게시하지만 iOS7 변경 사항과 관련이 있으며 더 이상 코드 버그가 아닌 것으로 생각합니다. 나는 많은 생산성과 역량을 발휘할 수있는 많은 코드와 UI를 게시해야 할 것입니다. 그래서 여기 최선이 아닌 시각적 인 설명입니다겹쳐지는 텍스트 문제 : iOS7

내가 찾는하고 iOS7에 대한 프로젝트를 업그레이드 이후이 나는 변경 전화를 넣어 경우 UILabel 또는 ViewDidAppear 또는 ViewWillAppear는 새 텍스트를 오른쪽에두고있는 UIButtonsetText를 호출 이전 텍스트의 맨.

iOS 용으로 개발 한 이래로 다른 작업을 한 번도 해보지 않았습니다. 나는이 작업을 수행 할 경우

lblMyHours.text = @"12";

그냥 기존 라벨의 상단에 그것을 던져 야해.

이것은 에있는 UILabel의 iVar를 만든 UITableView 내부에서 특히 발생합니다. 사용자가 셀을 클릭 한 후 값을 조정하면 (편집하려면 세부 화면으로 이동합니다), 팝업을 다시 열면 ViewDidAppear에 다시 계산됩니다. 다시 계산하면 위와 같은 레이블이 재설정됩니다. 그러나 그것은 오래되지 않았다.

+2

새 셀을 반환 할 때마다 이전 레이블 위에 새 레이블을 추가하지 않습니까? – Guilherme

+0

아 !!! 나는 그런 생각을하지 못했다. 좋아, 나는 지금 내 매킨토시에서 떨어져 있지만 그것을 봐야 할 것이다. 그게 날 미치게 했어.하지만 네가 맞아. 실제로 새 물건을 예증하고 낡은 물건 위에 올려 놓을 수있어. – logixologist

+1

@Guilherme 이걸 답으로 써서 받아 들일 수 있도록. 매번 실제로 그 위에 새로운 것을 추가하고 있다는 것을 깨닫지 못하는 것이 바보 같았습니다. – logixologist

답변

1

새 셀을 반환 할 때마다 새 레이블을 추가 할 수 있습니다. 대신 현재 레이블의 텍스트를 바꿔야합니다.

+1

그것은 나에게 너무 도움이 되었기 때문에, 현상금 보상을받을 수도 있습니다. 올바른 방법으로 확인하십시오. – logixologist

+1

ok 나는 그것을 받기 위해 24 시간을 기다려야한다. 그러나 내일 당신은 여분의 50pt를 가질 것이다! 건배! – logixologist

+0

감사합니다. 기꺼이 도와 드리겠습니다. :) – Guilherme

1

이미 달성하고있는 두 가지 방법이 있습니다. @Guilherme은 올바르게 지적했습니다. 다른 방법은 사용자 정의 tableview 셀을 만들고 거기에 UILabel 속성을 넣는 것입니다. viewDidAppear 시나리오는 @interface 선언에있는 .h 파일에 uilabel을 만든 다음 ViewDidLoad 메서드에서 초기화하고 다시 선언 할 필요없이 ViewDidAppear 메서드에서 간단하게 사용할 수 있습니다.

ViewDidAppear 문제에 대해 설명한 방법을 따르고 UITableView 문제에 대해 cellForRowAtIndex 메서드가 호출 될 때마다 셀의 하위보기에서 UILabels를 검색하여 하위보기에서 제거하는 것이 좋습니다. 새 레이블

for(UIView *view in cell.subviews) 
{ 
    if([view isKindOfClass:[UILabel class]]) 
    { 
     [view removeFromSuperview]; 
    } 
} 

희망이 있습니다.

관련 문제