我以编程方式创建了我的应用程序的UI,现在我已经坚持了这个问题近两天了。
我有我的MasterViewController,它创建了我的scrollview实例:
CGRect bottomViewFrame = CGRectMake(0,self.view.bounds.size.height-self.view.bounds.size.height/4.6,self.view.frame.size.width,100);
BottomView *bottomView = [[BottomView alloc] initWithFrame:bottomViewFrame];
并在我的ScrollView的initWithFrame:方法中我有:
- (instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
self.backgroundColor = [UIColor blackColor];
self.contentSize = CGSizeMake(self.bounds.size.width, self.bounds.size.height);
self.showsVerticalScrollIndicator = NO;
self.pagingEnabled = YES;
UIView* test = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
test.backgroundColor = [UIColor redColor];
[self addSubview:test];
return self;
}
有些事情表现不正确...... 首先,正如您所看到的,我将ScrollView的contentSize高度设置为它自己的高度,但我仍然可以在模拟器上执行后滚动。
其次我设置了UIView"测试"原点为(0; 0),但它显示在某些似乎我喜欢的坐标上(0; self.frame.height / 2)。
这是模拟器上的最终结果
有人有想法吗?非常感谢,非常感谢。
答案 0 :(得分:2)
解决!经过两天的挣扎,我终于得到了答案。 UINavigationController让MainViewController自动设置UIScrollView的子视图插图,你只需插入我的MasterViewController的init方法
self.automaticallyAdjustsScrollViewInsets = NO;
解决问题,让我的观点按照我的意愿放置。