Xamarin.iOSのUIScrollView派生クラスでZoom系メソッドが動かないとき
2020年12月25日 (金) 01:32時点におけるAdministrator (トーク | 投稿記録)による版 (ページの作成:「 UIScrollViewから派生したカスタムビューを自作する際に、 なぜかSetZoomScale()やZoomToRect()などのメソッドが動かないときは、 だ…」)
UIScrollViewから派生したカスタムビューを自作する際に、
なぜかSetZoomScale()やZoomToRect()などのメソッドが動かないときは、
だいたいデリゲートの「明示的な設定」を忘れている。
[Register(nameof(ZoomImageView))]
public class ZoomImageView
: UIScrollView
, IUIScrollViewDelegate // ← これだけではダメ
{
public ZoomImageView(IntPtr handle) : base(handle)
{
this.Setup();
}
public ZoomImageView(CGRect frame) : base(frame)
{
this.Setup();
}
public ZoomImageView(NSCoder coder) : base(coder)
{
this.Setup();
}
void Setup()
{
// これが重要。
// 明示的にデリゲートを自分自身に設定する。
this.Delegate = this;
}
}