2013-07-18 6 views
0

이 문제는 매우 이상하고 설명하기 다소 어렵습니다. 기본적으로 나는 각 셀에 이미지가있는 UITableView과 이미지의 일부를 덮는 UIView을 가지고 있습니다. UIView의 배경색은 흰색으로 약 30 %로 설정되어있어 이미지가 아래쪽으로 씻어내는 것처럼 보입니다. 거기에 몇 가지 레이블과 같은 것도 있습니다. 이러한 뷰는 모두 단일 상위 컨테이너보기에 추가되며 마지막으로 셀의 contentView에 추가됩니다. 이 모든 것은 잘 작동합니다 - 셀을 선택하기 전까지. 어떤 이유로 셀이 강조 표시 될 때마다 해당 뷰의 각 뷰에있는 backgroundColor 속성이 셀이 강조 표시되지 않을 때까지 지워집니다 (오래된 색이 반환되는 시점).iOS : UIView backgroundColor (테이블보기)

왜 이런 일이 일어 났는지 설명 할 수 있습니까? 문제를 해결할 방법이 있다면 더 중요 할 수 있습니까? 최대로 흰색의 단일 픽셀 이미지를 만들 수 있으며 UIViewUIImageView으로 설정하고 그 이미지를 해당 픽셀로 설정합니다.하지만 그다지 좋지는 않습니다. 어떤 제안?

+0

일부 테이블 코드의 코드를 게시하십시오 didSelect 및 cellForRowAtIndexPath 메서드. –

+1

도움이 될 수있는 몇 가지 옵션을 확인하려면 http://stackoverflow.com/questions/5222736/uiview-backgroundcolor-disappears-when-uitableviewcell-is-selected를 확인하십시오. –

+0

"_updateHighlightColorsForView"를 "_setOpaque"로 바꾸고 [이] (http://stackoverflow.com/questions/6417590/how-to-disable-highlight-subviews-message-for-uiview-uiviewcontroller-in-ios-s)를 시도하십시오. ". –

답변

0

셀을 선택하면 setSelected:animated: 구현이 호출되고이 셀에 포함 된 모든보기의 배경색이 투명하게 설정됩니다.

간단하게, 당신은 단지 없음으로 그 selectionStyle을 설정하여 셀의 선택을 해제 할 수 있습니다 : 당신이 선택의 결과를 사용하려는 경우,

cell.selectionStyle = UITableViewCellSelectionStyleNone; 

또는, setSelected:animated: 메소드를 오버라이드 (override)를 재설정 할 수 있습니다 당신의 배경색 UIView