1

重複の可能性:
MonoTouchでUIScrollViewをズームする

このobjective-cデリゲートコールバックをアプリケーションに実装する必要があります。

-(UIView *) viewForZoomingInScrollView:(UIScrollView *)inScroll {
  return imageView;
}

ただし、MonoTouchを使用してアプリケーションを開発していますが、MonoTouchでデリゲートを実装するにはどうすればよいですか?(「MonoTouchでのデリゲートの実装」に関して、おそらく正しい用語を使用していないことを認識しています。アドバイスしてください)。

コールバックを委任する必要があるコードは次のとおりです(スクロールビュー内のimageviewをズーム可能にする必要があります):

public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();

        Loader loader = new Loader("/Users/jacknutkins/Documents/ARCSDev");
        loader.LoadChart("2");
        CGBitmapContext context = loader.GetHiResImage(loader.PaletteFile.RGBPaletteDay);
        UIImage image = UIImage.FromImage(context.ToImage());
        this.View.BackgroundColor = UIColor.Red;
        RectangleF rect = new RectangleF(0.0f, 0.0f, image.Size.Width, image.Size.Height);
        //RectangleF rect = new RectangleF(scrollView.Frame.Location, scrollView.Frame.Size);
        UIImageView imageView = new UIImageView(rect);
        imageView.Image = image;
        scrollView.ContentSize = image.Size;
        scrollView.AddSubview(imageView);
        scrollView.ClipsToBounds = true;
        scrollView.SetZoomScale(0.5f, true);
        Console.WriteLine("View Did Load Done.");
        // Perform any additional setup after loading the view, typically from a nib.
    }

Tysin

4

1 に答える 1

3

ViewForZoomingInScrollViewイベントにイベントハンドラーを追加するだけです。

scrollView.ViewForZoomingInScrollView += (UIScrollView sv) => 
{
    return null;
};
于 2012-09-10T12:21:01.860 に答える