我有一个视图控制器:MainViewController
在mainViewController中,我添加一个uiview并设置所有约束(0,0,0,0),这意味着它与超级视图的大小相同。
从上面添加的uiview中,我将自定义类设置为我的UIView文件,让我们称之为xMainView
这是我的xMainView代码
//xMainView.h
@interface xMainView : UIView
// all my properties here
@end
//xMainView.m
- (id)initWithFrame:(CGRect)aRect {
if ((self = [super initWithFrame:aRect])) {
[self commonInit];
}
return self;
}
- (id)initWithCoder:(NSCoder*)coder {
if ((self = [super initWithCoder:coder])) {
[self commonInit];
}
return self;
}
- (void)commonInit{
UIView *mapView = [[[NSBundle mainBundle] loadNibNamed:@"XMapView"
owner:self
options:nil] objectAtIndex:0];
mapView.frame = self.bounds;
mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight;
[self addSubview: mapView];
}
- (void) loadMap:(NSArray *)results {
self.passedResults = results;
[self commonInit];
[self updateUserCurrentLocation];
[self zoomingToDevice];
}
在xMapView.xib(storyboard)中的我添加了另一个设置在视图底部的ui视图。我把这个观点的约束如下:
trailing : 0
bottom : 0
leading : 0
height : 300
在我的MainViewController中,这就是我调用xMainView
的方式//the mapStoreView is the view from the MainViewController. I outlet it and name it as mapStoreView
- (void)viewDidLoad {
[super viewDidLoad];
[self.mapStoreView loadMap:nil];
}
// I have tried to put it in viewWillAppear, viewDidAppear, same results
然而,来自xMapView的视图似乎从屏幕底部开始。我已经把所有约束都很好了。最奇怪的是,它使用iphone 7plus运行正常。其他设备,将有底部偏移屏幕问题。
我一直在寻找提示,但却找不到任何提示。它真的让我很沮丧。也许有人知道这是什么问题?
感谢