我有一个带有 4 个文本框和顶部的徽标的视图 - 当用户输入信息时,文本板会覆盖其中的一些控件,我怎样才能使视图滚动以便这不是问题。
我尝试将视图添加到 aUIScrollView
但似乎没有做任何事情?
我有一个带有 4 个文本框和顶部的徽标的视图 - 当用户输入信息时,文本板会覆盖其中的一些控件,我怎样才能使视图滚动以便这不是问题。
我尝试将视图添加到 aUIScrollView
但似乎没有做任何事情?
您需要为 UIScrollView 设置更多内容,而不仅仅是将子视图放入其中。为子视图的完整大小正确设置 ContentSize 属性,以便滚动视图知道其中较大的内容,而不是您可以控制滚动位置、缩放系数等。
iOS SDK 上有很多示例,只需查看 UIScrollView 文档,从 ObjectiveC 转换到 Monotouch 很简单,或者查看http://blog.touch4apps.com/home/iphone-monotouch-development/monotouch-infinite-loop上的博客文章-image-scroll-view我有一个示例,其中包含在 UIScrollView 中自动滚动的图像。
像这样的东西。
textBox.EditingDidBegin += delegate {
var offset = scrollView.contentOffset;
offset.Y -= 200;
scrollView.contentOffset = offset;
}
我在下面包含了我如何处理您的情况的片段。如果我对您的理解正确,您不希望有一个可滚动的视图,而是希望视图与在字段之间的切换一起移动,以减轻键盘造成的视觉障碍。
祝你好运!
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();
}