objective c 如何在其他视图控制器中隐藏按钮
how to hide button in other view controller in objective c
-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
NewsScreen *news=[[NewsScreen alloc] initWithNibName:@"NewsScreen" bundle:nil];
if (tabBarController.selectedIndex==2) {
[news.btn setHidden: YES];
}
NSLog(@"%@", tabBarController);
}
我想隐藏来自另一个视图控制器的按钮。
-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
if (tabBarController.selectedIndex==2)
{
NSUInteger *index=value; //assign value here
UINavigationController *nv = [[tabBarController viewControllers] objectAtIndex:index];//index of your NewsScreen controller
NSArray *array =[nv viewControllers];
for (ViewController *vc in array)
{
if ([vc isKindOfClass:[NewScreen class]])
{
[vc.btn setHidden:YES];
}
}
}
NSLog(@"%@", tabBarController);
}
在你的 ViewController
controller
中取一个 BOOL
变量并生成 属性。 synthesize
它也是。
然后这样做:
ViewController *vc = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
vc.check = YES;
在viewdidload
中这样写:
if(self.check)
[mainbutton1 set hidden:YES];
更新
如果您只想隐藏按钮,请尝试:
在你的Viewdidload
[button addTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
-(void)btnClicked
{
[button setHidden:YES];
}
将您的代码更改为:
-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
NewsScreen *news= (NewsScreen*) [tabBarController.viewControllers objectAtIndex:1]; // Replace 1 with your NewsScree View Controller's index thats your tab number - 1.
if (tabBarController.selectedIndex==2) {
[news.btn setHidden: YES];
}
}
-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
NewsScreen *news=[[NewsScreen alloc] initWithNibName:@"NewsScreen" bundle:nil];
if (tabBarController.selectedIndex==2) {
[news.btn setHidden: YES];
}
NSLog(@"%@", tabBarController);
}
我想隐藏来自另一个视图控制器的按钮。
-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
if (tabBarController.selectedIndex==2)
{
NSUInteger *index=value; //assign value here
UINavigationController *nv = [[tabBarController viewControllers] objectAtIndex:index];//index of your NewsScreen controller
NSArray *array =[nv viewControllers];
for (ViewController *vc in array)
{
if ([vc isKindOfClass:[NewScreen class]])
{
[vc.btn setHidden:YES];
}
}
}
NSLog(@"%@", tabBarController);
}
在你的 ViewController
controller
中取一个 BOOL
变量并生成 属性。 synthesize
它也是。
然后这样做:
ViewController *vc = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
vc.check = YES;
在viewdidload
中这样写:
if(self.check)
[mainbutton1 set hidden:YES];
更新
如果您只想隐藏按钮,请尝试:
在你的Viewdidload
[button addTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
-(void)btnClicked
{
[button setHidden:YES];
}
将您的代码更改为:
-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
NewsScreen *news= (NewsScreen*) [tabBarController.viewControllers objectAtIndex:1]; // Replace 1 with your NewsScree View Controller's index thats your tab number - 1.
if (tabBarController.selectedIndex==2) {
[news.btn setHidden: YES];
}
}