我需要以編程方式執行以下操作。我怎樣才能做到這一點?代碼應該足夠動態以適應景觀內的肖像視圖。該視圖不是UIImageViews。 如何以編程方式設置子視圖的框架以使其適合其超視圖內?
2
A
回答
3
如果你不介意的話,包括在項目中AVFoundation
框架,你可以使用:AVMakeRectWithAspectRatioInsideRect(CGSize aspectRatio, CGRect boundingRect);
其文檔狀態:
返回縮放的CGRect維持由指定的長寬比邊界CGRect中的CGSize。
它可以用作:
subview.frame = AVMakeRectWithAspectRatioInsideRect(subview.bounds.size, superview.bounds);
參數:
的aspectRatio:寬度和高度之比(縱橫比)要保持。
boundingRect:您想要適合的邊界矩形。
0
float ratio = subView.bounds.size.height/subView.bounds.size.width;
[subView setFrame:CGRectMake(0,0,superView.bounds.size.width,superView.bounds.size.width*ratio)];
[subView setCenter:CGPointMake(superView.bounds.size.width/2,superView.bounds.size.height/2)];
+0
我喜歡你集中視圖的方式。但是你設置框架的方式不是動態的,儘管它可以用於這個例子。 – 2014-09-12 13:16:27
相關問題
- 1. 如何以編程方式創建視圖並根據超級視圖設置其框架? (iphone)
- 2. 以設置爲超視圖框架的框架以編程方式創建視圖?
- 3. 使用Storyboard中的視圖將其框架用於以編程方式設置的另一個視圖
- 4. NSLayoutConstraint以編程方式設置視圖框架
- 5. 如何以編程方式設置集合視圖的大小
- 6. 設置按鈕框架適合視圖
- 7. 如何將視圖的框架轉換爲其超級視圖?
- 8. 如何以編程方式向其父視圖添加視圖大小?
- 9. 以編程方式添加子視圖並使其伸展,以便通過XCode添加子視圖
- 10. 如何以編程方式爲我的tabBarController設置視圖?
- 11. 如何以編程方式設置列表視圖的OrderedView
- 12. 如何以編程方式設置cell.textLabel.text從不同的視圖?
- 13. 如何以編程方式設置視圖的高度?
- 14. 如何以編程方式將視圖設置爲前/後?
- 15. 如何以編程方式設置視圖控制器
- 16. 以編程方式配置每個位置的視圖設置
- 17. 當以編程方式加載Root ViewController的視圖框架
- 18. Android:java.lang.OutOfMemoryError,當我嘗試以編程方式設置圖像視圖
- 19. 如何使一個子視圖自動調整其超視圖?
- 20. 如何使UIView子視圖以編程方式固定大小
- 21. 如何以編程方式將視圖添加到視圖
- 22. 如何在IB中設置UIView子視圖大於其父級超級視圖?
- 23. 如何在Objective C中以編程方式設置集合視圖?
- 24. 以編程方式設置視圖Y位置
- 25. 子視圖可見,但框架外超視圖框架
- 26. 如何以編程方式更改uitableviewcell的子視圖?
- 27. 以編程方式設置視圖的重力
- 28. 以編程方式設置滾動視圖上的邊距
- 29. 以編程方式設置UIPopOver視圖的標題
- 30. 以編程方式設置新視圖的邊距
包含AVFoundation框架的缺點是什麼?一些性能問題或.. – 2016-03-11 21:48:09
不,真的不應該有任何缺點@NerminSehic – Wain 2016-03-11 21:59:12