我正在寻找创建一个具有动作/触摸事件的简单应用。
目的是从出现的标签开始:
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;
}
}
答案 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跟踪触摸。