0
A
回答
1
的解決方案試試這個:
view.layer.cornerRadius = view.bounds.width * 0.5
而且兩種方法稱爲只要邊界變化:
viewWillLayoutSubviews()
和viewDidLayoutSubviews()
,您可以在那裏更改半徑值。
我將與擴展解決這個問題:
extension UIView {
func changeFrameAndCorner(frame: CGRect) {
self.frame = frame
self.layer.cornerRadius = view.bounds.width * 0.5
}
1
你需要重寫SETFRAME方法
- (void)setFrame:(CGRect)frame {
super.frame = frame;
self.layer.cornerRadius = ///
}
如果它不是你的看法,你可以使用KVC,如果需要的觀點幀之間的變化(當觀察可以提供代碼,但互聯網充滿了它......),而不是當它改變更新你的角落半徑。
否則,您需要使用一些庫進行反應式編程(Reactive Cocoa,RxSwift,Bond等)。
希望它對你有所幫助。
1
您可以創建一個UIView的自定義子類並覆蓋setFrame爲@Volodymyr建議。但這對系統類不起作用。
您也可以在您的視圖控制器中實現viewDidLayoutSubviews
方法,並根據視圖框架的任何更改來調整視圖的角半徑。
最後,您應該能夠在視圖的框架上訂閱關鍵值通知。
相關問題
- 1. 如何綁定visibility屬性
- 2. Ember:concat屬性綁定,如何?
- 3. 如何綁定UserControl屬性?
- 4. 如何將ListBoxItem的屬性綁定到已綁定到ListBox的ItemsSource的屬性
- 5. 綁定屬性parent屬性
- 6. 如何綁定已經是已綁定對象屬性的對象的屬性?
- 7. 綁定屬性
- 8. 如何綁定屬性塊的MonoTouch
- 9. 如何綁定到ToolStripMenuItem的Enabled屬性
- 10. 如何綁定父元素的屬性
- 11. 如何綁定樣式的屬性?
- 12. 如何綁定屬性的HashMap
- 13. 自定義屬性沒有綁定的綁定屬性
- 14. 如何將布爾屬性綁定到呈現的屬性?
- 15. 如何將ComboBox的SelectedValue屬性綁定到字符串屬性?
- 16. 如何將Polygon Fill屬性綁定到按鈕的Background屬性?
- 17. 如何在屬性中數據綁定的屬性
- 18. 如何綁定到WPF屬性的屬性
- 19. WPF:如何綁定到另一個控件綁定的屬性?
- 20. 綁定到SelectedItem屬性的屬性
- 21. 綁定到WPF屬性的屬性
- 22. 綁定到屬性的屬性
- 23. 綁定鍵綁定的鍵屬性
- 24. 父屬性綁定
- 25. QML屬性綁定
- 26. Silverlight屬性綁定
- 27. 綁定類屬性
- 28. 綁定UserControls屬性
- 29. 綁定ListBox.SelectedItem屬性
- 30. XAML綁定屬性
他特別說,如果幀改變,他希望cornerRadius保持50%的寬度。這爲初始幀寬度提供了一個解決方案,但不是增加一個 – Emptyless