2016-11-17 27 views
14

Không thể đặt chiều cao cho chế độ xem tiện ích của Hôm nay cho Chế độ thu gọn. Không có vấn đề gì giá trị tôi đặt. Nó đặt chiều cao của tiện ích con thành giá trị mặc định. Chế độ mở rộng hoạt động hoàn hảo và giá trị được đặt đúng và được phản ánh trong tiện ích. Tôi đã thêm dòng này vào phương thức viewDidLoad() của mình.Chiều cao tiện ích mở rộng tiện ích mở rộng hôm nay - iOS10

self.extensionContext?.widgetLargestAvailableDisplayMode = .expanded 

Đây là mã. Giá trị của maxSize không thể thay đổi quá như một hằng số của nó.

func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) { 

     //self.preferredContentSize = (activeDisplayMode == .compact) ? maxSize : CGSize(width: maxSize.width, height: 300) 

     if activeDisplayMode == NCWidgetDisplayMode.compact 
     { 
      self.preferredContentSize = CGSize(width: maxSize.width, height: 300) 
     } 
     else 
     { 
      self.preferredContentSize = CGSize(width: maxSize.width, height: 560) 
     } 
} 
+0

ở chế độ thu gọn 110 là chiều cao tối thiểu cho các tiện ích. –

+0

@ConstantinSaulenco Cảm ơn - nhưng làm cách nào tôi có thể thay đổi giá trị này. –

+1

ở chế độ thu gọn không có cách nào để thay đổi giá trị đó –

Trả lời

15

Chiều cao của tiện ích trong iOS 10 chính xác là 110 ở chế độ thu gọn. Nó có thể được đặt ở bất kỳ chiều cao nào bạn muốn ở chế độ mở rộng, nhưng ở chế độ thu gọn, nó luôn là 110 và không thể ghi đè.

+6

Chiều cao của tiện ích con trong iOS 10+ thay đổi dựa trên kích thước văn bản hệ thống. 110 là chiều cao với kích thước văn bản mặc định/trung bình nhưng có thể nhỏ hơn hoặc lớn hơn 110 nếu bạn giảm hoặc tăng kích thước văn bản hệ thống trong ứng dụng Cài đặt. –

+1

Câu trả lời này không bao gồm tất cả các tiểu bang thực sự. Nó phải được hợp nhất với bình luận @GregG :) – ridvankucuk

11

Hãy thử đặt phương thức self.preferredContentSize ở chế độ xemDidLoad. Đây là mã đầy đủ:

Swift 3

override func viewDidLoad() { 

    super.viewDidLoad() 

    self.preferredContentSize = CGSize(width:self.view.frame.size.width, height:210) 

    if #available(iOSApplicationExtension 10.0, *) { 
     self.extensionContext?.widgetLargestAvailableDisplayMode = .expanded 
    } 
} 


@available(iOS 10.0, *) 
    @available(iOSApplicationExtension 10.0, *) 
    func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) { 
     if activeDisplayMode == .expanded { 
      self.preferredContentSize = CGSize(width: self.view.frame.size.width, height: CGFloat(3)*self.tableView.rowHeight) 
     }else if activeDisplayMode == .compact{ 
      self.preferredContentSize = CGSize(width: maxSize.width, height: 110) 
     } 
    } 

xin vui lòng sử dụng chiều cao của bạn cho ứng dụng của bạn. Hy vọng sẽ khắc phục sự cố của bạn.

Các vấn đề liên quan