我想在地图上显示一些注释信息,在地图下方我想显示一个非常简单的自定义日期选择器。
我在 nib 中创建了一个自定义视图,并将其与 UIView 的实例相关联。
这个相同的类包含这个从 nib 加载视图实例的函数。
+(id)loadCustomDatePicker
{
CustomDatePicker *customDatePicker = [[[NSBundle mainBundle] loadNibNamed:@"CustomDatePicker" owner:nil options:nil] lastObject];
if ([customDatePicker isKindOfClass:[CustomDatePicker class]])
return customDatePicker;
else
return nil;
}
这是我的界面生成器截图。
在我的视图控制器的viewDidAppear方法中,我正在使用此代码来加载自定义视图
CustomDatePicker *customDatePicker = [CustomDatePicker loadCustomDatePicker];
[self.view addSubview:customDatePicker];
[self.view bringSubviewToFront:customDatePicker];
customDatePicker.frame = CGRectMake(0, 375, 320, 40);
下面是模拟截图:
nib 文件中自定义视图的尺寸已设置为 320 x 40。背景是透明的。
这是问题:
由于场景的高度是 504,我的代码应该是
customDatePicker.frame = CGRectMake(0, 464, 320, 40);
但是当我实现这个时,我只能看到地图。甚至 (0,400), (0,420) 也不起作用。我使用了反复试验并使用了(0,375)。
从视觉上看,我的目标似乎是完整的。但我不知道为什么 (0,375) 在不应该工作的时候工作。