我一直在使用CGAffineTransformMakeScale來縮放UIView。這通過它的默認anchorPoint(以.5,.5)爲中心進行縮放。我想調整它的大小,使它向左延伸,就好像它向左放大一樣。我可以通過將anchorPoint設置爲正確的中心來完成此操作。但是,這會導致設置框架等問題。有沒有更好的方法來應用像我想要的縮放變換。我以爲我可以用自定義的變換矩陣來做,但是我對矩陣數學不太好。從中心點以外的點擴展UIView,尋找替代品anchorPoint
4
A
回答
3
使用anchorPoint,以解決幀怪異存儲和重新加載它在this answer。
0
首先運行此代碼,您將會有更好的理解。這裏lblLabel是我的標籤,你可以相應地改變。同時檢查CGPoint(x:10,y:98)和CGPoint(x:10,y:108)作爲par>您的要求。 這將從標籤的左上角生成動畫。根據您的要求更改錨點和位置。
self.lblLabel.layer.anchorPoint = CGPoint(x: 0.0,y :0.0)
self.lblLabel.layer.position = CGPoint(x: 10, y: 98)
lblLabel.transform = CGAffineTransform(scaleX: 0.5, y: 0.5)
UIView.animate(withDuration: 1.0) {
self.lblLabel.layer.position = CGPoint(x: 10, y: 108)
self.lblLabel.transform = CGAffineTransform(scaleX: 1.2, y: 1.2)
}
相關問題
- 1. Bug尋找替代品?
- 2. Java擴展替代品
- 3. 尋找一個Java Graphics的替代品
- 4. 尋找「DIN」字體的替代品
- 5. 正在尋找NMS的替代品FormMail.pl
- 6. 嗨,尋找一個JES的替代品
- 7. 正在尋找Instamapper的替代產品
- 8. 正在尋找w3c.dom.Node的替代產品
- 9. 在Win32下尋找TortoiseHG的替代品
- 10. 尋找JasperReports的替代產品
- 11. 尋找C#的替代品System.Text.ASCIIEncoding()
- 12. 尋呼替代品
- 13. 如何從中心(或其他高效替代品)擴展選擇器寬度?
- 14. 使用php尋找圖像中心點
- 15. 的UIView擴展到中心查看
- 16. 尋找ASPX和C#調試替代品
- 17. 我在尋找CHM替代品
- 18. .Net Thread.Suspend已過時。尋找替代品
- 19. 尋找Aspose .NET幻燈片替代品
- 20. 實現datalist並尋找替代品
- 21. 替代ClickOnce的外殼擴展安裝
- 22. 代碼點火擴展show_error
- 23. 尋找替代cfdump
- 24. 從幾何擴展點.STEnvelope()
- 25. UIView的擴展
- 26. 開源替代品的點網
- 27. .insertAdjacentHTML與替代品的優點?
- 28. 視點擴展
- 29. 缺少anchorPoint屬性的UIView
- 30. 找不到「org.eclipse.ui.menus」擴展點的架構