我有一个带有UIScrollView的UIViewController。
然后,我创建了一个新的UIView子类,其中包含一些属性,这些属性要通过编程方式添加到此UIScrollView中,直到数据结束。
看起来应该像这样的图片:
我已经阅读了通过创建视图并将其类设置为自定义视图子类来实现此目的的其他主题,但是我想以编程方式进行操作,并且无法正常工作。
我该怎么做?
最佳答案
从图像看来,您正在寻找从笔尖加载视图并将其添加为UIScrollView的子视图的想法。为此,请查看UINib documentation。
您想要创建笔尖并将其主视图设置为UIView子类的实例,然后将笔尖加载到viewController的viewDidLoad
中,然后将笔尖的视图添加为您的scrollview的子视图(我假设这是一个子视图) viewController的视图)。
您可以使用instantiateWithOwner:options:
实例化一个笔尖。
此方法取消归档每个对象,对其进行初始化,然后将其设置
属性为其配置值,并重新建立任何
与其他对象的连接
要从笔尖获取一系列视图,您可以执行以下操作:
UINib *myNib = [UINib nibWithNibName:@"myNib" bundle:[NSBundle mainBundle]];
NSArray *viewsFromNib = [myNib instantiateWithOwner:nil options:nil];
我假设我们在UIViewController中,并且在
viewDidLoad
中(或之后)。然后,您将使用上方的数组,并将视图添加为滚动视图的子视图。您可能需要设置这些视图的框架以正确放置它们,但这应该很简单。UIView *aView = [viewsFromNib objectAtIndex:0];
[self.scrollView addSubview:aView];
我希望这会为您指明正确的方向。
编辑:
如果您需要更多信息,则可能需要更深入地了解笔尖如何管理期望。与UINib文档链接的是“资源编程指南”,尤其是nib section