검은 색 배경으로 UitableViewCellAccessoryDisClosureIndicator를 볼 수 있도록하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/249010

  •  05-07-2019
  •  | 
  •  

문제

cell.accessoryType = uabiteViewCellAccessoryDisClosureIndicator;

이 방법에서

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

그러나 나는 그 셀을 선택할 때만 볼 수 있습니다. 그렇지 않으면 보이지 않으며 배경이 흰색 일 때 완벽하게 작동합니다. 나는 재산을 설정해야한다고 확신하지만,이 일을 작동시키기 위해 어떤 속성을 변경 해야하는지 모르겠습니다.

미리 감사드립니다.

건배.

도움이 되었습니까?

해결책

공개 표시기는 회색의 높은 알파 이미지 인 것으로 보이므로 검은 배경 위에 오버레이되어 보이지 않습니다. 이 작업을 수행하려면 셀의 내용 뷰에 자신의 uiimageview를 추가해야합니다.

다른 팁

나는이 같은 문제에 부딪쳤다. 그리고 당신이 자유롭게 복사 할 수있는 다음 번 서둘러 mocked 그래픽을 사용하여 Uiview의 imagewithname @"accdisclosure.png"에서 uiimageview를 만듭니다. http://thinkingman.com/db/downloads/accdisclosure.png (그 링크를 클릭하면 투명한 배경을 가진 흰색 이미지이므로 아무것도 볼 수 없지만, 그것을 저장하고 어두운 배경에 대해 보면 알파가 보입니다).

다음 코드를 사용하면 화살표 팁의 배경색을 테이블 행에서 설정할 수 있습니다.

@property (nonatomic,retain) UILabel *backgroundLabel;

UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
label.backgroundColor = [UIColor orangeColor]; 
self.backgroundLabel = label;
[self.contentView addSubview:label];
[label release];

CGRect labelRect = CGRectOffset(contentRect,0, 0);
labelRect.size.height = contentRect.size.height - 1; // show white line
labelRect.size.width = contentRect.size.width + 50; // cover arrow tip background
backgroundLabel.frame = labelRect;    
backgroundLabel.highlightedTextColor = [UIColor whiteColor];

나는 액세서리가 나타나는 위치에 검은 색 (내 경우에는 회색 채워진 원)가 아닌 이미지와 함께 AddSubview가있는 ImageView를 추가하는 솔루션을 만들었습니다.

이를 통해 화살표를 볼 수 있고 여전히 어두운/검은 색 테이블 셀 배경색을 가질 수 있습니다.

아마도 가장 코셔 솔루션은 아니지만 화살표를 보이게 만들고 서브 클래스 또는 많은 코드를 작성하지 않고 액세서리 클릭을 알립니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top