Ios 按下按钮上的Xcode在单独的ViewController上隐藏标签
我试图将按下的事件按钮链接到第二个viewcontroller,以便隐藏/删除视图中的标签。我不知道怎么解释,但请看一看 如图所示,当按下按钮2时,第一个视图中的主标签被移除或隐藏 我试过使用: 文件.hIos 按下按钮上的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
@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-(无效)单击下一个按钮//解决错误,这样好吗?