2016-10-19 8 views
0

iOS의 My Today 위젯 확장 프로그램이 .compact 모드 일 때 바닥 글은 UITableview 프로토 타입 셀을 대체하기 위해 위로 슬라이드합니다. 불행히도 UITableView의 첫 번째 셀은 위젯의 기본 배경을 사용하기 때문에 바닥 글 뒤에 계속 표시됩니다. 꼬리말의 배경색을 사용하지 않고 셀을 완전히 숨기려면 어떻게해야합니까?오늘 위젯은 .compact 모드에서 UITableview 행은 여전히 ​​바닥 글 뒤에 표시됩니다.

enter image description here

차 질문 : 언급 한 바와 같이, 바닥 글이 테이블 셀을 숨기고 오늘 위젯의 최소 크기를 채우기 위해 .compact 모드에서 애니메이션됩니다. 이것은 UITableview의 기본 동작입니까?

+0

가능한 경우 스크린 샷을 추가하십시오. –

+0

불행히도 스크린 샷을 제공 할 수는 없지만 간단한 그림을 업로드하여 내가 어떤 동작을하는지 보여줍니다. – fakataha

답변

7

필자의 경우를 제외하고는 컴팩트 디스플레이 모드에서 숨겨 지길 바랬지 만 비슷한 문제가있었습니다. 나는 다음과 같이이 작업을 수행 할 widgetActiveDisplayModeDidChange를 사용 : 당신이 바닥 글 표시하고 테이블 셀, 당신은 같은 이벤트를 사용할 수 있습니다 숨겨하려는 경우에,

func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) { 
    self.myFooterView.hidden = (activeDisplayMode == NCWidgetDisplayMode.compact) ? true : false 
} 

을하고 테이블을 다시로드 위젯 표시 모드가 변경 될 때마다 데이터를 가져옵니다. 각 경우에는 적절한 셀 수를 사용합니다.

+0

이것이 작동하는지 알 수 있습니다. 응답 해 주셔서 감사합니다. * 사이드 노트 : 당신은 삼항 연산자를 제거하여 간단하게 할 수 있습니다 : self.myFooterView.hidden = activeDisplayMode == NCWidgetDisplayMode.compact. – fakataha