如何以编程方式嵌入笔尖?

And*_*ryn 2 embedded customization objective-c uiview ios5

我有一个带有UIScrollView的UIViewController.

然后我创建了一个新的UIView子类,其中包含一些我希望以编程方式添加到此UIScrollView中的属性,直到我的数据结束.

看起来像这张照片的东西: 嵌入uiview

我已经通过创建视图并将其类设置为自定义视图子类来阅读其他主题,但我想以编程方式执行此操作并且无法正常工作.

我该怎么办?

Jes*_*edc 6

从您的图像看起来您正在寻找从笔尖加载视图并将其添加为UIScrollView的子视图.为此,请查看UINib文档.

你想创建你的nib并将它的主视图设置为你的UIView子类的一个实例,然后加载viewDidLoad你的viewController中的nib,并将nib的视图添加为你的scrollview的子视图(我假设它是你的viewController的子视图)视图).

您可以使用实例化一个笔尖instantiateWithOwner:options:.

此方法取消归档每个对象,初始化它,将其属性设置为其配置的值,并重新建立与其他对象的任何连接

要从笔尖获取视图数组,您可以执行以下类似操作:

UINib *myNib = [UINib nibWithNibName:@"myNib" bundle:[NSBundle mainBundle]];
NSArray *viewsFromNib = [myNib instantiateWithOwner:nil options:nil];
Run Code Online (Sandbox Code Playgroud)

我假设我们在UIViewController中,我们在(或之后)的某个地方viewDidLoad.然后,您将使用上面的数组并将视图添加为滚动视图的子视图.您可能需要设置这些视图的框架以正确放置它们,但这应该是微不足道的.

UIView *aView = [viewsFromNib objectAtIndex:0];
[self.scrollView addSubview:aView];
Run Code Online (Sandbox Code Playgroud)

我希望这能让你朝着正确的方向前进.

编辑:

如果您想了解更多信息,可能需要深入了解nib如何管理您的期望.与UINib文档链接的是"资源编程指南",特别是nib部分