Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 按下按钮上的Xcode在单独的ViewController上隐藏标签_Ios_Xcode_Uibutton_Hide_Viewcontroller - Fatal编程技术网

Ios 按下按钮上的Xcode在单独的ViewController上隐藏标签

Ios 按下按钮上的Xcode在单独的ViewController上隐藏标签,ios,xcode,uibutton,hide,viewcontroller,Ios,Xcode,Uibutton,Hide,Viewcontroller,我试图将按下的事件按钮链接到第二个viewcontroller,以便隐藏/删除视图中的标签。我不知道怎么解释,但请看一看 如图所示,当按下按钮2时,第一个视图中的主标签被移除或隐藏 我试过使用: 文件.h @interface ViewController : UIViewController { IBOutlet UILabel *LabelToHide; IBOutlet UIButton *button2; } -(IBAction)unhide:(id)s

我试图将按下的事件按钮链接到第二个viewcontroller,以便隐藏/删除视图中的标签。我不知道怎么解释,但请看一看

如图所示,当按下按钮2时,第一个视图中的主标签被移除或隐藏

我试过使用:

文件.h

@interface ViewController : UIViewController {


    IBOutlet UILabel *LabelToHide;

    IBOutlet UIButton *button2;



}

-(IBAction)unhide:(id)sender;

@end
file.m

@interface ViewController ()

@end

@implementation ViewController

- (IBAction)unhide:(id)sender{



}

- (IBAction)hide:(id)sender{

    LabelToHide.hidden = YES;
    button2.hidden = YES;

}

有什么建议吗?

你也可以这样做

在FirstViewController.m文件中

[self performSegueWithIdentifier:@"FirstView" sender:self];

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"FirstView"]) {
        SecondView *view2 = (SecondView *)segue.destinationViewController;
        view2.labletohide = YES;
    }
}
- (void)viewDidLoad
{
    if (labletohide)
        self.label.hidden = YES;
}
在SecondViewController.h文件中

@property (nonatomic, assign) BOOL labletohide;
@property (nonatomic, weak) UILabel label;
在SecondViewController.m文件中

[self performSegueWithIdentifier:@"FirstView" sender:self];

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"FirstView"]) {
        SecondView *view2 = (SecondView *)segue.destinationViewController;
        view2.labletohide = YES;
    }
}
- (void)viewDidLoad
{
    if (labletohide)
        self.label.hidden = YES;
}

希望这能有所帮助。

您也可以通过
NSNotification
完成此任务

ViewController
类中写入
viewDidLoad

[[NSNotificationCenter defaultCenter] addObserver:self
        selector:@selector(testMethod:) 
        name:@"Notification_name"
        object:nil];


- (void) testMethod:(NSNotification *) notification
{
    // call your hide/unhide method
}
viewController``中,单击按钮按下
class

张贴通知

[[NSNotificationCenter defaultCenter] 
        postNotificationName:@"Notification_name" 
        object:self];
也许它对你有用做一件事 创建UILabel的属性

@property (retain, nonatomic) IBOutlet UILabel *label;
然后在第二个视图控制器的.h文件中导入第一个视图控制器

在第二个viewcontroller的viewdidload方法中初始化第一个View控制器

VIewController *vc = [ViewController alloc]init];
然后将此代码放入按钮操作方法中

-(void)buttonActionMethod

{
[vc.label setHidden:TRUE];
}

查看下面的代码,它可能很有用

在ViewController.h文件中声明为

   #import <UIKit/UIKit.h>
   #import "DetailsViewController.h"
   @interface ViewController :<UIViewController>
   DetailsViewController *detailsViewController;
   @property(nonatomic,retain) IBOutlet UIButton *next;
   @property(nonatomic,retain) DetailsViewController *detailsViewController;
   -(void)nextbuttonClicked;
现在,将Interface Builder上的“下一步”按钮连接到单击的“下一步”按钮
创建一个名为DetailsViewController的Xib文件,并将标签添加到IBOutlet。希望这对您有所帮助。

您好,谢谢。对于FirstViewController.m&SecondViewController.h,您的意思是什么?我必须为每个视图创建2个不同的类?如图所示,您将拥有2个UIViewController类。我刚刚用First命名了一个,用second命名了另一个。我应该在FirstViewController.m中的什么位置插入您的代码?它说:使用未声明的标识符“prepareforsgue”,如果您使用的是故事板,则此方法适用。我应该调用此方法吗?-(iAction)隐藏:(id)发送方{LabelToHide.hidden=YES;button2.hidden=YES;}YES,-(void)testMethod:(NSNotification*)通知{[self hide:nil];}hi。我是否应该使用#import“FirstViewController.h”导入第二个视图控制器的.h中的firstview controller.h?xcode还修复了如下字符串:UIViewController*vc=[[UIViewController alloc]init];这是对的吗?这里有一个更好的解释,说明了我在声明ViewController时需要实现什么。一个错误说你是指UiTableViewController吗?在你放置按钮的第一个ViewController中声明它2提到你的错误。你是否创建了DetailsViewController.h和DetailsViewController.mViewController.h我获取的“预期标识符”找不到“UIViewController”@interface ViewController:UIViewController{DetailsViewController*DetailsViewController;}@property(非原子,保留)IBOutlet UIButton*next的协议声明@属性(非原子,保留)DetailsViewController*DetailsViewController-(无效)单击下一个按钮//解决错误,这样好吗?