第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

當(dāng)使用自動(dòng)布局時(shí),如何調(diào)整CALLayer的錨點(diǎn)?

當(dāng)使用自動(dòng)布局時(shí),如何調(diào)整CALLayer的錨點(diǎn)?

搖曳的薔薇 2019-06-28 15:27:25
當(dāng)使用自動(dòng)布局時(shí),如何調(diào)整CALLayer的錨點(diǎn)?自從提出這個(gè)問(wèn)題以來(lái),事情就有了進(jìn)展,見(jiàn)這里最近的一個(gè)很好的概述。在自動(dòng)布局之前,您可以通過(guò)存儲(chǔ)框架、設(shè)置錨點(diǎn)和恢復(fù)框架來(lái)更改視圖層的錨點(diǎn),而無(wú)需移動(dòng)視圖。在自動(dòng)布局世界中,我們不再設(shè)置框架,但是約束似乎無(wú)法完成將視圖的位置調(diào)整到我們想要的位置的任務(wù)。您可以破解這些約束來(lái)重新定位視圖,但是在旋轉(zhuǎn)或其他調(diào)整大小的事件中,這些約束會(huì)再次變得無(wú)效。由于它創(chuàng)建了“布局屬性(左和寬)的無(wú)效配對(duì)”,下面的好主意不起作用:layerView.layer.anchorPoint = CGPointMake(1.0, 0.5);// Some other size-related constraints here which all work fine...[self.view addConstraint:     [NSLayoutConstraint constraintWithItem:layerView                                  attribute:NSLayoutAttributeLeft                                  relatedBy:NSLayoutRelationEqual                                      toItem:layerView                                   attribute:NSLayoutAttributeWidth                                  multiplier:0.5                                    constant:20.0]];我在這里的目的是在layerView,調(diào)整后的錨點(diǎn)的視圖,以其寬度的一半加20(從SuperView的左側(cè)邊緣插入的距離)。是否可以在不改變視圖位置的情況下更改錨點(diǎn),而該視圖是用自動(dòng)布局的?是否需要使用硬編碼值并在每次旋轉(zhuǎn)時(shí)編輯約束?我希望不會(huì)。我需要改變錨點(diǎn),這樣當(dāng)我將轉(zhuǎn)換應(yīng)用到視圖時(shí),我就得到了正確的視覺(jué)效果。
查看完整描述

3 回答

?
阿晨1998

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊

我找到了一個(gè)簡(jiǎn)單的方法。它適用于iOS 8和iOS 9。

例如在使用基于框架的布局時(shí)調(diào)整錨點(diǎn):

let oldFrame = layerView.frame
layerView.layer.anchorPoint = newAnchorPoint
layerView.frame = oldFrame

當(dāng)您使用自動(dòng)布局調(diào)整視圖的錨點(diǎn)時(shí),您會(huì)做同樣的事情,但以約束的方式。當(dāng)錨點(diǎn)從(0.5,0.5)更改為(1,0.5)時(shí),LayerView將以視圖寬度的一半的距離向左移動(dòng),因此需要對(duì)此進(jìn)行補(bǔ)償。

我不理解問(wèn)題中的約束,因此,假設(shè)您使用常量:layerView.centX=SuperView.centX+常量,添加了一個(gè)相對(duì)于SuperView中心X的中心X約束。

layerView.layer.anchorPoint = CGPoint(1, 0.5)let centerXConstraint = .....centerXConstraint.constant = centerXConstraint.constant + layerView.bounds.size.width/2


查看完整回答
反對(duì) 回復(fù) 2019-06-28
  • 3 回答
  • 0 關(guān)注
  • 727 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)