2016-08-19 10 views
3

셀을 편집 할 때 레이블 색상을 변경하는 방법을 찾고 있습니다. 기본 색상은 흰색이며 삭제하기 위해 스 와이프하면 표시되지만 아래 이미지와 같이 Apple News 앱과 동일한 방식으로 Black으로 변경하고 싶습니다.UITableViewCell 편집시 레이블 색상 변경

override func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? { 



     let editAction = UITableViewRowAction(style: .normal, title: "Rename") { (action: UITableViewRowAction, indexPath: IndexPath) -> Void in 



     } 

     editAction.backgroundColor = UIColor.black 
     return [editAction] 



    } 

이 기본 색상 :

이 코드를 편집 할 수있는 일반적인 슬쩍입니다. enter image description here

이것은 사과 뉴스의 특징입니다. enter image description here

아이디어가 없습니다. 나는 신속한 3을 사용하고 있지만, 신속하거나 ObjC의 어떤 것도 멋지다. 감사. ;)

답변

0

UITableViewRowAction을 사용하여이를 직접 수행 할 방법이 없다고 생각합니다. Apple은 UIButton에서 사용하는 것처럼 버튼을 사용자 정의 할 수 없으며 UITableViewRowAction을 사용합니다.

저는 아이디어가 있습니다. 문제가 해결 될지 알려주세요. Apple에이 세 아이콘이 들어있는 이미지가 있다고 가정 해 봅시다. Love, Share & Save [위의 이미지에서].

당신이 할 수있는 일은 UIColorpatternImage 메서드를 사용하여 UITableViewRowAction 인스턴스의 backgroundColor를 설정할 수 있다는 것입니다.

그래서 이렇게 보일 것입니다.

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? { 

     let discussion = UITableViewRowAction(style: .Normal, title: "") { _, _ in 
     } 

     discussion.backgroundColor = UIColor(patternImage: UIImage(named: "Love&Share&SaveIconsInOneImage")) 

     return [discussion] 
    } 
+0

이것은 흥미로운 것 같습니다. 나는 이번 주말에 그걸 발사하고 다시 너에게 갈거야. ;) – Gugulethu

관련 문제