簡體   English   中英

Interface Builder中“查看為”的問題

[英]Issues with 'View as' in Interface Builder

當我嘗試在界面生成器中使用“查看方式”選項時,我目前遇到問題。

例如,當為iPhone 8 Plus選擇“視圖為”時,所有視圖約束都會更新,以便在界面構建器中的iPhone 8 Plus上看起來很好,但是UITableViewCells的子視圖不會在界面構建器中更新。 可以在下面的屏幕截圖中看到。

以iPhone 8 Plus觀看,已從以iPhone X觀看切換

以iPhone X觀看,已從以iPhone 8 Plus觀看

通常,這不會真的困擾我,因為它會構建並更新所有約束,但是當我構建應用程序時,由於某種原因,我在UITableViewCell的主子視圖上設置的CAGradientLayer不會更新為這些約束,並保持以前的“查看方式”選項的約束。

CAGradientLayer約束問題

我試圖覆蓋layoutSublayers(of: CALayer) ,然后更新layoutSublayers(of: CALayer)的寬度以更新UIView的新寬度,但這不起作用,因為UIView的框架未更新以反映更新的約束。

有什么辦法可以應用約束來獲取UIView的寬度? 還是有我可以在Xcode中應用的修復程序來解決此問題。

非常感謝,

-威廉

更新layoutSubviews內部漸變的框架

override func layoutSubviews() 
  super.layoutSubviews()
  // set the frame of the gradient here 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM