2015-02-04 1 views
0

가로 모드에서 내보기의 내용을 잘라내는 위젯과 관련하여이 문제가 있습니다. 정적으로 콘텐츠 크기를 넣었지만 작동하지 않습니다. Apple은 위젯이 특정 높이를 가로로 가지도록 제한합니까? Apple의 인터페이스 가이드 라인에 권장하지 않지만 가능한 것입니까?가로 모드 위젯 관련 문제

편집 : enter image description here

+0

을받을 수 있습니까? –

+0

내 위젯은 거의 300 픽셀이며 잘 어울립니다. 더 많은 알림입니다. –

답변

1

iOS에서 오늘 위젯의 높이 제한이 있습니다. 최대 높이는 (화면 크기) - (알림 센터 UI 높이)입니다. 알림 센터에서 UI를 가져온 후에 남은 것은 위젯 용 UI입니다. 그것은 풍경보다 풍경에서 다를 것입니다.

불행히도이 제한은 문서화되어 있지 않으며 런타임에이를 찾는 방법도 없습니다. 더 큰 크기를 요청하면 요청한 것보다 적은 것을 얻을 수 있지만 한계가 무엇인지 묻는 방법은 없습니다. [애플의 사람이를 읽고 있다면, 참조하십시오 rdar : // 18408718, "오늘의 확장이 크기 제한을 발견하기 어려운, 문서화 한"] 알림 센터는 낮은 높이 제한을 부과하는 것 어떤 경우에는

. 이것은 나에게 버그처럼 보이지만 지금은 주위에 방법이 없습니다. & IOS10 스위프트 3

+0

그게 내가 너무 온거야. 하지만 당신에게 관심이있을만한 것을 발견했습니다. 지금 내 대답을 편집 할 것입니다. –

+0

나는 그것을 보았다. 성가신 것은 문서에서 위젯이 너무 크지 않도록 "말하라"고 말하지만 런타임 환경에서는 규칙을 적용하여 제한 사항을 알려주지 않습니다. –

+0

바로! 당신이 말했듯이, 문서화되지 않은 규칙이나 어쩌면 버그 같아 보입니다. –

0

: 다른 위젯을 볼 것, 위젯 컨트롤러에이 방법을 추가하고 위젯 당신이 원하는만큼 키가 있었다면 당신은 MAXSIZE

@available(iOSApplicationExtension 10.0, *) 
    func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize){ 
     if (activeDisplayMode == NCWidgetDisplayMode.compact) { 
      self.preferredContentSize = maxSize; 
      // hide or show what you want 
      messageLabel.isHidden = false 
      textLabel.isHidden = true 
     } 
     else { 

      self.preferredContentSize = CGSize(width: 0, height: (maxSize.height - 100) // personnaly I remove 100 to make it easier fo the user to see all the widget 

      messageLabel.isHidden = true 
      textLabel.isHidden = false 
     } 
}