我是ios开发的新手。我正在尝试在Xamarin iOS应用程序中创建一个垂直ScrollView。
下面是我的水平ScrollView代码
using System;
using UIKit;
using Foundation;
using CoreGraphics;
using System.Collections.Generic;
namespace TestApp
{
public partial class ViewController : UIViewController
{
public ViewController (IntPtr handle) : base (handle)
{
ScrollingButtonsController ();
}
UIScrollView scrollView;
List<UIButton> buttons;
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// Perform any additional setup after loading the view, typically from a nib.
//MyScrollView.scrollEnabled=YES;
//MyScrollView.contentSize= CGSizeMake(CGFloat.width, CGFloat.height);
//end
nfloat h = 50.0f;
nfloat w = 50.0f;
nfloat padding = 10.0f;
nint n = 100;
scrollView = new UIScrollView {
Frame = new CGRect (0, 100, View.Frame.Height, h + 2 * padding),
ContentSize = new CGSize ((w + padding) * n, h),
BackgroundColor = UIColor.Red,
AutoresizingMask = UIViewAutoresizing.FlexibleWidth
};
for (int i=0; i<n; i++) {
var button = UIButton.FromType (UIButtonType.RoundedRect);
button.SetTitle (i.ToString (), UIControlState.Normal);
button.Frame = new CGRect (padding * (i + 1) + (i * w), padding, w, h);
scrollView.AddSubview (button);
buttons.Add (button);
}
View.AddSubview (scrollView);
//UIScrollView scrollView;
//scrollView = new UIScrollView (
// new CGRect (0, 0, View.Frame.Width, View.Frame.Height));
// View.AddSubview (scrollView);
}
public void ScrollingButtonsController ()
{
buttons = new List<UIButton> ();
}
public override void DidReceiveMemoryWarning ()
{
base.DidReceiveMemoryWarning ();
// Release any cached data, images, etc that aren't in use.
}
}
}
我想创建一个垂直滚动视图并添加一些可滚动的文本视图。关于如何做到这一点的任何想法?
如果您能详细说明如何在我的Main.storyboard文件中使用结构方案获取元素,我将不胜感激:
-Scroll View
--label
---Image View
---Text View
--label
---Image View
---Text View
--label
---Image View
---Text View
--label
---Image View
---Text View
--label
---Image View
---Text View
以及更多......
答案 0 :(得分:3)
您需要设置ScrollView Content Size Height,大于它的帧高。因此它会向上/向下滚动。滚动视图的宽度应与其内容宽度相同,因此不会向右/向左滚动。
答案 1 :(得分:0)
我在寻找这个。无论有无代码,我都使用了很多教程。滚动的最佳方法如下:
添加滚动视图(左,右,上,下约束)
添加您想要的任何内容
棘手的部分是设置2个约束:
1)容器的水平空间,其中容器是滚动视图(用更宽的元素做这个)
2)容器的垂直空间,其中容器是滚动视图(使用最后一个元素执行此操作)
当您的屏幕变得更高时,垂直约束将增加您的滚动视图。不需要代码,只需要适当的约束。
在您的示例中,您必须:
为您的第一个标签
在所有标签中添加垂直约束
在最终文本视图和滚动视图之间添加最终垂直约束(textview可能需要高度约束)
如果您的元素不适合Xcode中的屏幕,请使用自由形式大小使您的控制器更大(这仅适用于xcode,而不适用于您的实际程序)