我对如何正确执行某种操作有疑问。
下图显示了一个 UIViewController,但视图的第二部分是一个自定义 UIView(带有个人资料图片、名称和显示视图按钮的那个)。使用以下代码分配子类 UIView:
profileView = [[GPProfileView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 70)];
profileView.myTripGradientColor = YES;
[self.view addSubview:profileView];
问题当然是 UIView 上的按钮不能显示任何视图,因为只有 UIViewController 可以将另一个 ViewController 推送到窗口(对吗?)。
UIView 在应用程序的多个地方使用,需要轻松添加,并且在整个应用程序中具有相同的行为。
在我添加按钮之前效果很好,并且我开始认为我做错了,并且必须有更好的方法来做到这一点(也许将 UIView 更改为其他内容?)。
我在想我应该可以打电话:
self.superview
然后以某种方式获取 ViewController,这样我就可以将另一个 ViewController 推送到视图层次结构中,但是不行。
有关如何正确执行此操作的任何建议和提示?
更新:我不知道如何从按钮推送另一个 UIViewController。
在 UIView 中按下按钮时,我应该在这个方法中做什么:
- (void) showViewButtonTouched:(UIButton*)sender {
GPProfileSocialFriendsViewController *friendsSettings = [[GPProfileSocialFriendsViewController alloc] init];
}
如何推送 GPProfileSocialFriendsViewController?