reloadData
iOS 7.1에서만 이상한 일이 발생합니다 . 이 코드는 iOS 7.0에서 완벽하게 작동합니다. 몇 가지 변수를 업데이트 한 다음 다음을 호출합니다 reloadData
.
myNum = 12;
[self.tableView reloadData];
다음에서 cellForRowAtIndexPath
:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
…
[cell.leftScoreButton setTitle:[NSString stringWithFormat:@"%d", myNum] forState:UIControlStateNormal];
cell.leftScoreButton.enabled = NO;
…
이것은 더 이상 7.1에서 버튼 제목을 올바르게 업데이트하지 않지만 7.0에서는 제대로 작동합니다. 또한 AlertDialog tableView
가 나타나면 올바른 제목으로 버튼을 성공적으로 다시로드합니다 . AlertDialog
호출의 어떤 부분이 기본 화면을 업데이트 / 새로 고침합니까? 실제로 팝업되지 않고 수동으로 호출 할 수 있습니까 AlertDialog
?
난 이미 호출 시도 [self.view setNeedsDisplay]
하고 setNeedsLayout
. 둘 다 도움이되지 않았습니다.
잠시 놀아 보니 버튼이 활성화 된 것과 관련이 있다는 것을 알았습니다. 제대로 업데이트되지 않은 행의 경우 버튼을 비활성화했습니다. 방금 추가했습니다
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
…
[cell.leftScoreButton setTitle:[NSString stringWithFormat:@"%d", myNum] forState:UIControlStateNormal];
cell.leftScoreButton.enabled = YES;
cell.leftScoreButton.enabled = NO;
…
활성화 한 다음 즉시 비활성화하면 이제 제대로 업데이트됩니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다