Objective c 从其他类中的按钮将视图按到导航控制器

Objective c 从其他类中的按钮将视图按到导航控制器,objective-c,uiviewcontroller,uinavigationcontroller,uibutton,pushviewcontroller,Objective C,Uiviewcontroller,Uinavigationcontroller,Uibutton,Pushviewcontroller,我在我的子类ViewController中创建了一个UIButton,并将其添加到我的MainViewController中 现在,我在这个按钮中添加了一个目标方法,它应该将另一个视图控制器推送到我的导航控制器(MainViewController中的那个) 我知道当我按下按钮时,方法确实调用了,但是视图没有被推到导航控制器 我扫描了这张图纸-这是图纸(我还添加了部分代码): 这是我在按钮中使用的代码: (记住它在不同的ViewController中)。 - (void)buttonPress

我在我的子类ViewController中创建了一个UIButton,并将其添加到我的MainViewController中

现在,我在这个按钮中添加了一个目标方法,它应该将另一个视图控制器推送到我的导航控制器(MainViewController中的那个)

我知道当我按下按钮时,方法确实调用了,但是视图没有被推到导航控制器

我扫描了这张图纸-这是图纸(我还添加了部分代码):

这是我在按钮中使用的代码: (记住它在不同的ViewController中)。

- (void)buttonPressed:(UIButton *)sender
{
    Photo_ScreenGlobalView *photo = [[Photo_ScreenGlobalView alloc] init];
    [self.navigationController pushViewController:photo animated:YES];
}

通常我通过授权来解决这些情况。如果有一个视图控制器从属于另一个视图控制器(即“子”视图控制器),但应能够触发导航更改等。。。然后它应该有一个弱指针返回到它的“父”。然后父VC应该实现一个适当命名的协议,并带有回调供子VC使用。这些东西的名称可以是通用的,例如
@property-navigationDelegate
requestNavigationToViewController:
,也可以是更具语义的,例如
@property-userFormDelegate
userFormDoneButtonPressed:


一般来说,从属视图控制器不应该能够直接修改其父级的导航;但是它可以通过更松散的耦合接口触发它。

通常我通过委托来解决这些情况。如果有一个视图控制器从属于另一个视图控制器(即“子”视图控制器),但应能够触发导航更改等。。。然后它应该有一个弱指针返回到它的“父”。然后父VC应该实现一个适当命名的协议,并带有回调供子VC使用。这些东西的名称可以是通用的,例如
@property-navigationDelegate
requestNavigationToViewController:
,也可以是更具语义的,例如
@property-userFormDelegate
userFormDoneButtonPressed:


一般来说,从属视图控制器不应该能够直接修改其父级的导航;但它可以通过更松散的耦合接口触发它。

我回来是想让大家知道我是如何做到的。 通过谷歌搜索,很多人找到了这本关于如何委派的快速指南 和代表一起工作解决了我所有的问题。如果你需要任何帮助,不要犹豫,给我下午

以下是指南:

我回来是想让大家知道我是如何做到的。 通过谷歌搜索,很多人找到了这本关于如何委派的快速指南 和代表一起工作解决了我所有的问题。如果你需要任何帮助,不要犹豫,给我下午

以下是指南:

谢谢您的回答-但您能让我看看如何使用代码示例来完成吗?我没有理解到最后…如果有人需要它-你可以在下面的答案中看到一个指南。谢谢你的答案-但是你能让我看看如何用代码示例来做吗?如果有人需要它,你可以在下面的答案中看到一个指南。请检查控制器的视图插座集请检查控制器的视图插座集这是我7天前发布的解决方案。好的,谢谢。但它不是很清楚,这本指南解释得更好。这是我7天前发布的解决方案。好的,谢谢。但它不是很清楚,这本指南解释得更好。