initWithFrame和loadNibNamed不能一起工作?

时间:2015-03-13 14:53:50

标签: ios xcode uiscrollview loadnibnamed initwithframe

我使用Paged UIScrollView和嵌入式UIPageControl,如https://github.com/romaonthego/REPagedScrollView所述。

使用

时代码正常
UIView *page1 = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 280, self.view.frame.size.height - 40)];
page1.backgroundColor = [UIColor lightGrayColor];
[scrollView addPage:page1];

但是我需要为我的项目使用nib文件。我称它为:

UIView *page1 = [[[NSBundle mainBundle] loadNibNamed:@"mySubViewController" owner:self options:nil] objectAtIndex: 0];
page1 = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 280, self.view.frame.size.height - 40)];
page1.backgroundColor = [UIColor lightGrayColor];
[scrollView addPage:page1];

这几乎可以正常工作,我可以调用视图,唯一的问题是视图不会监听initWithFrame:CGRectMake,它加载全屏,我看不到页面控件再导航。

Autolayout设置为关闭。

有人能指出我错在哪里吗?我能做些什么来解决这个问题?

祝你好运, 大卫

1 个答案:

答案 0 :(得分:0)

您可以使用方法手动设置任何视图的框架 - (void)setFrame:(CGRect)frame

    UIView *page1 = [[[NSBundle mainBundle] loadNibNamed:@"mySubViewController" owner:self options:nil] objectAtIndex: 0];
    page1.backgroundColor = [UIColor lightGrayColor];
    page1.frame = CGRectMake(20, 20, 280, self.view.frame.size.height - 40);
    [scrollView addPage:page1];