我有一个显示图例的 LegendViewController。最初,我只是在那里放了一个 UIImageView 。但是现在,我们需要一些图例,我想重用 LegendViewController。所以我创建了一个新的初始化程序:
- (id)initWithView:(UIView *)view withNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
[self initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
[self.view addSubview:view];
}
return self;
}
所以现在假设我传入一个 UIView 对象,这可以工作。对于我的一个传说,我想知道是否可以在没有图像或 UIView 对象的情况下将 .xib 加载到我的视图控制器中。我有一个非常简单的图例,我只想要一些颜色编码的正方形(带有颜色的 UIViews)和一些文本(UILabels)。我可以在独立的 .xib 文件中创建它,但我不确定如何将它加载到我的 LegendViewController 中。我到目前为止:
UINib *nib = [UINib nibWithNibName:@"HealthLegend" bundle:nil];
其中 HealthLegend 是我的独立 .xib 文件,其中包含我的数据。还是不能这样做,我需要在某些绘图程序中创建图像,或者在 drawRect 中手动绘制代码?谢谢。