隐藏标签和显示按钮ios

时间:2014-02-21 08:39:52

标签: ios iphone objective-c

我正在寻找创建一个具有动作/触摸事件的简单应用。

目的是从出现的标签开始:

1)如果屏幕是触摸屏,我希望它隐藏标签并显示四个按钮。

2)如果再次触摸屏幕,我希望隐藏按钮然后显示标签。

同时我实现了一个pageView控件,它允许用户滑动并查看四个不同的屏幕。 1)和2)都需要出现在所有四个视图上并以相同的方式运行。

这是完成的事情,最好的方法是什么?它会是switch语句还是if语句?有人可以举个例子吗?

我已经在之前的帖子上找到了一些代码,例如:

[label 1 setHidden:TRUE]

谢谢!

编辑:

为成为新手而道歉。

我尝试了一下,但我似乎在titleLabel下面出现了红色错误:

BOOL isTouchedFirst ;

- (void)viewDidLoad
{ 

    [super viewDidLoad];
// Do any additional setup after loading the view.
    titleLabel.userInteractionEnabled = YES;
    self.backgroundImageView.image = [UIImage imageNamed:self.imageFile];
    self.titleLabel.text = self.titleText;

}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{

    if (isTouchedFirst) {
        NSLog(@"In touchesBegan");
        titleLabel.hidden = YES;
        //  button.hidden = NO ;
        isTouchedFirst = NO;
    } else {
        NSLog(@"In touchesBegan");
        titleLabel.hidden = NO;
        //  button.hidden = YES ;
        isTouchedFirst = YES;
    }
}

2 个答案:

答案 0 :(得分:0)

首先为您的标签制作label.userInteractionEnabled = YES

创建一个全局布尔变量

BOOL isTouchedFirst ;

之后使用以下内容:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{

     if (isTouchedFirst) {
         NSLog(@"In touchesBegan");
        label.hidden = YES;
        button.hidden = NO ;
        isTouchedFirst = NO;
     }
     else {
         NSLog(@"In touchesBegan");
        label.hidden = NO;
        button.hidden = YES ;
        isTouchedFirst = YES;
     }

}

答案 1 :(得分:0)

使用UITapGesture检测触摸,并使用BOOL var跟踪触摸。