下記のように
vertStackView(UIStackView)にPaintCanvasView(UIView継承)をAddArrangedSubviewしているのですが、
PaintCanvasViewのサブレイヤーとして追加したいビューPaintFreeHandView(UIView継承)があるのですが、
★の部分でpaintCanvasView.Frameが取得できません。
UIStackViewがおそらく配置される位置の計算前ではないかと思うのですが、これを取得する方法はありますか?
c#
1 public partial class PaintViewController : UIViewController 2 { 3 public override void LoadView() 4 { 5 6 // (中略) 7 8 UIView contentView = new UIView(rectContent) 9 { 10 BackgroundColor = UIColor.FromRGBA(0, 0, 255, 128) 11 }; 12 View = contentView; 13 14 // (中略) 15 16 UIStackView vertStackView = new UIStackView(rect) 17 { 18 Axis = UILayoutConstraintAxis.Vertical, 19 }; 20 contentView.Add(vertStackView); 21 22 PaintCanvasView canvasView = PaintUtil.CreatePaintCanvasView(this, vertStackView); // PaintCanvasViewはUIViewの継承 23 vertStackView.AddArrangedSubview(canvasView);
c#
1 internal static PaintCanvasView CreatePaintCanvasView(UIViewController viewController, UIView parentView) 2 { 3 PaintCanvasView paintCanvasView = new PaintCanvasView(viewController, parentView); 4 5 PaintFreeHandView paintFreeHandView = new PaintFreeHandView(viewController, parentView); // PaintFreeHandViewはUIViewの継承 6 paintFreeHandView.Frame = paintCanvasView.Frame;// new CGRect(200, 200, 200, 200); // ★paintCanvasView.Frameが取得できない 7 paintCanvasView.PaintFreeHandView = paintFreeHandView; 8 paintCanvasView.AddSubview(paintFreeHandView); 9 10 return paintCanvasView; 11 }
◆環境
▼Windows 10
Visual Studio Community 2017 Version 15.9.11
Xamarin 4.12.3.83
Xamarin.iOS and Xamarin.Mac SDK 12.4.0.64
▼Mac mini(Late 2014)
macOS Majave 10.14.4
Xcode 10.2.1
あなたの回答
tips
プレビュー