4

我有一个带有 4 个文本框和顶部的徽标的视图 - 当用户输入信息时,文本板会覆盖其中的一些控件,我怎样才能使视图滚动以便这不是问题。

我尝试将视图添加到 aUIScrollView但似乎没有做任何事情?

4

3 回答 3

0

您需要为 UIScrollView 设置更多内容,而不仅仅是将子视图放入其中。为子视图的完整大小正确设置 ContentSize 属性,以便滚动视图知道其中较大的内容,而不是您可以控制滚动位置、缩放系数等。

iOS SDK 上有很多示例,只需查看 UIScrollView 文档,从 ObjectiveC 转换到 Monotouch 很简单,或者查看http://blog.touch4apps.com/home/iphone-monotouch-development/monotouch-infinite-loop上的博客文章-image-scroll-view我有一个示例,其中包含在 UIScrollView 中自动滚动的图像。

于 2011-02-01T13:56:40.547 回答
0

像这样的东西。

textBox.EditingDidBegin += delegate {
  var offset = scrollView.contentOffset;
  offset.Y -= 200;
  scrollView.contentOffset = offset;
}
于 2011-05-12T21:20:43.307 回答
0

我在下面包含了我如何处理您的情况的片段。如果我对您的理解正确,您不希望有一个可滚动的视图,而是希望视图与在字段之间的切换一起移动,以减轻键盘造成的视觉障碍。

祝你好运!

private void ScrollTheView(bool movedUp, float scrollamount, UIView ViewToMove)
    {
        //To invoke a views built-in animation behaviour,
        //you create an animation block and
        //set the duration of the move...
        //Set the display scroll animation and duration...
        UIView.BeginAnimations(string.Empty, System.IntPtr.Zero);
        UIView.SetAnimationDuration(0.15);

        //Get Display size...
        RectangleF frame = ViewToMove.Frame;

        if (movedUp) {
            //If the view should be moved up,
            //subtract the keyboard height from the display...
            frame.Y -= scrollamount;
        }
        else {
            //If the view shouldn't be moved up, restore it
            //by adding the keyboard height back to the original...
            frame.Y += scrollamount;
        }

        //Assign the new frame to the view...
        ViewToMove.Frame = frame;

        //Tell the view that your all done with setting
        //the animation parameters, and it should
        //start the animation...
        UIView.CommitAnimations();

    }
于 2013-03-13T13:59:25.850 回答