iOS自动版式4

4.kısımdayız! Bukısımdakod ile自动布局nasılyapılıronuinceleyeceğiz。 Eğergözatmadıysanızbundanönceki3yazıyagözatmanızıtavsiye ederim。

iOS自动版面3
Merhabalar Auto Layout的版本3和版本。 Eğeröncekiikibölümedahaöncehiçdenk gelmediyseniz bu… medium.com iOS自动版面2
iPhone 10(NamıdiğerEKS)重装了。 medium.com iOS自动版式1
Tümbu cihazlarda tekilgörünümüyaratmak bu kadar zor mu吗? medium.com

自动版式kullanırkenbirşeyleryaparken hepdiğeralternatiflerden bahsettik。 yinebugüncode ile Auto Layout yaparken 3yöntemdenbahsedeceğim。

布局锚

布局锚bu serinin2。yazısında伪代码olarak yervermiştim。 Burada oyazıdaki伪密码子tam code哈利尼göreceğiz

Yukarıdakigrafikte bir view in olabilecektümanchorlara yer verdim。 Soldansağaveyasağdansolayazılıpokunan dilleriçin领先ve尾随anchorların左ve右anchorlarlardoğruve tersorantılıolarakdeğiştiğindenyukarıdakişemadayine durumagöreilgili deyererrere。

Tümanchorlarıgördüktensonraöncekiyazılardanaşinaolduğumuz约束denklemini伪kod olarakyazdığımızdenklemi birde布局锚点ileyazalım。

  RedView.leadingAnchor.constraint(等于:BlueView.trailingAnchor,常数:8.0).isActive = true 

şeklindetanımlamamızıyapabiliriz。 Yine 2.yazımızdayerverdiğimizbazıpseudotanımlamaları布局锚点yazalım:

  // SabitYükseklikVerme 
  RedView.height = 40.0 
  //布局锚点 
RedView.heightAnchor.constraint(equalToConstant:40.0).isActive = true
  //继续观看'ınbaşlangıçlarınıhizalama 
  RedView。Lead = 1.0 * BlueView。Lead + 0.0 
  //布局锚点 
RedView.leadingAnchor.constraint(equalTo:BlueView.leadingAnchor).isActive = true
  //İkiview'aaynıgenişliğiverme 
  RedView.width = 1.0 * BlueView.width + 0.0 
  //布局锚点 
RedView.widthAnchor.constraint(equalTo:BlueView.widthAnchor).isActive = true
  // Birview'ıniçindebulunduğuview'ınmerkezinekonumlandırma 
  View.centerX = 1.0 * Superview.centerX + 0.0 
  View.centerY = 1.0 * Superview.centerY + 0.0 
  //布局锚点 
View.centerXAnchor.constraint(equalTo:View.superview?.centerXAnchor).isActive = true
  View.centerYAnchor.constraint(equalTo:View.superview?.centerYAnchor).isActive = true 
  // View'açerçeveoranıverme,Yüksekliği=Genişiliğinin2katı 
  View.height = 2.0 * View.width + 0.0 
  //布局锚点 
View.heightAnchor.constraint(等于:View.widthAnchor,乘数:2.0).isActive = true
  ⚠️isActive = true yapmazsak o约束条件imkt aktifolmayacaktırburada dikkat etmemiz gerekenlerden biride bu 

Gördüğünüzgibi布局锚yyazdığımız伪arasındaneredeysehiçfark yok bence kodüzerindeen kolay okunabilen veyazılabilenyöntembu。