Iphone 从子类访问uinavigationbar?

Iphone 从子类访问uinavigationbar?,iphone,objective-c,uinavigationcontroller,uinavigationbar,Iphone,Objective C,Uinavigationcontroller,Uinavigationbar,我有一个基于UIView的子类,我想更改uinavigationbar的色调,但我尝试过的各种方法都不起作用。如何执行此操作?您可以从UINavigationController访问UINavigationBar。一种方法是将UINavigationController或UINavigationBar作为参数传递给UIView。或者UIView可以使用委托通知外部UIViewController执行工作。您可以从UINavigationController访问UINavigationBar。一种

我有一个基于UIView的子类,我想更改uinavigationbar的色调,但我尝试过的各种方法都不起作用。如何执行此操作?

您可以从UINavigationController访问UINavigationBar。一种方法是将UINavigationController或UINavigationBar作为参数传递给UIView。或者UIView可以使用委托通知外部UIViewController执行工作。

您可以从UINavigationController访问UINavigationBar。一种方法是将UINavigationController或UINavigationBar作为参数传递给UIView。或者UIView可以使用委托通知外部UIViewController执行工作。

只要视图位于作为导航堆栈一部分的viewController中,您就可以执行以下操作:

viewController.navigationController.navigationBar.tintColor = [UIColor blackColor];
要访问viewController,可以在视图类中将id声明为ivar:

id myParentViewController;
将此id声明为属性,以便可以从视图外部访问它

从viewController创建视图时,可以通过执行以下操作将对viewController的引用传递到视图中:

view.myParentViewController = self;
其中,
self
将是对导航堆栈上的viewController的引用

现在您已进入视图,可以通过以下操作访问导航栏:

if([myParentViewController isKindOfClass:[UIViewController class]])
    {
        UIViewController *theParentViewController = (UIViewController*)myParentViewController;
        theParentViewController.navigationController.navigationBar.tintColor = [UIColor blackColor];
    }

只要视图位于作为导航堆栈一部分的viewController中,您就可以执行以下操作:

viewController.navigationController.navigationBar.tintColor = [UIColor blackColor];
要访问viewController,可以在视图类中将id声明为ivar:

id myParentViewController;
将此id声明为属性,以便可以从视图外部访问它

从viewController创建视图时,可以通过执行以下操作将对viewController的引用传递到视图中:

view.myParentViewController = self;
其中,
self
将是对导航堆栈上的viewController的引用

现在您已进入视图,可以通过以下操作访问导航栏:

if([myParentViewController isKindOfClass:[UIViewController class]])
    {
        UIViewController *theParentViewController = (UIViewController*)myParentViewController;
        theParentViewController.navigationController.navigationBar.tintColor = [UIColor blackColor];
    }