Ios 在UIView中放置子类PFLogInViewController对象时,为什么它会出现在框架之外?

Ios 在UIView中放置子类PFLogInViewController对象时,为什么它会出现在框架之外?,ios,Ios,对于我正在进行的项目,我需要大量定制Parse.com登录屏幕 我意识到我需要对PFLogInViewController进行子类化,并在viewDidLayoutSubviews方法中进行大多数修改。此外,我知道我最终需要将PFLogInViewController的元素放入UIView(然后将其放入UITableViewCell)中,但是我遇到了一个奇怪的问题 当我尝试将self.loginview.dismissButton添加为我称之为testView的UIView的子视图时,dismi

对于我正在进行的项目,我需要大量定制Parse.com登录屏幕

我意识到我需要对
PFLogInViewController
进行子类化,并在
viewDidLayoutSubviews
方法中进行大多数修改。此外,我知道我最终需要将
PFLogInViewController
的元素放入
UIView
(然后将其放入
UITableViewCell
)中,但是我遇到了一个奇怪的问题

当我尝试将
self.loginview.dismissButton
添加为我称之为testView的UIView的子视图时,dismissButton不显示在testView的框架内,它显示在它的外部(我将dismissButton的x和y值都设置为0)。但是,当我将
testView.hidden
设置为YES时,两个对象都被隐藏

有人知道我做错了什么吗?或者有什么建议来解决这个问题?我在下面列出了相关代码

提前谢谢

- (void)viewDidLoad {
[super viewDidLoad];

[self.logInView.dismissButton removeFromSuperview];
UIView *testView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 50, 50)];
[testView setBackgroundColor:[UIColor yellowColor]];
[testView addSubview:self.logInView.dismissButton];
[self.logInView addSubview:testView];
}

-(void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];

[self.logInView.dismissButton setFrame:CGRectMake(0, 0, self.logInView.dismissButton.frame.size.width, self.logInView.frame.size.height)];
}

您绝对不应该在viewDidLayoutSubviews中添加新视图-这经常被称为。您应该添加一些断点,看看发生了什么,并记录帧。我将代码更改为使用viewDidLayoutSubviews属性,为我的testView和dismissButton记录帧的x和y位置,并添加了断点。行为还是一样,我看不出有什么不对。