我想添加一个默认情况下应隐藏的图像视图,以及用户点击时 它的位置,图像应该出现。
例如:
如果有巧克力棒
我在左下方的顶部添加了一个小的UIImageView并将其设置为隐藏, 当用户点击那块巧克力时,新的小图像视图应该来覆盖 拍了一下。
这是我的代码
.h文件
#import <UIKit/UIKit.h>
@interface ChompViewController : UIViewController {
int s;
int turn;
IBOutlet UIImageView *sq1;
}
//@property (nonatomic, retain) IBOutlet UIImageView *aq1;
- (IBAction) mainMenu:(id)sender;
@end
.m文件:
#import "ChompViewController.h"
#import "MainMenuViewController.h"
@implementation ChompViewController
// Main Menu button in Start Game view.
- (IBAction) mainMenu:(id)sender {
MainMenuViewController* mainM = [[MainMenuViewController
alloc] initWithNibName:@"MainMenuViewController" bundle:nil];
[self.navigationController pushViewController:mainM animated:YES];
}
// The Game Method.
- (void) startGame {
s=20;
while (s>0) {
// Players' Turn
if (turn = 1) {
turn = 0;
}
// Computers' Turn
else {
turn = 1;
}
}
}
@end
所以我想实现点击并隐藏在
下的两个'if'语句中- (void) StartGame
我希望你能帮助我,我真的需要你的帮助......
由于
编辑: 我找到了一个方法并进行了一些更改并且它可以工作,但是在点击时它可以工作 屏幕上的任何位置,我希望当用户点击小UIImageView的确切位置时触发它。
另外,我不知道如何在我的StartGame方法中实现此方法。
这是代码
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
sq1.hidden = NO;
[sq1 release];
}
我知道我问了很多,我是菜鸟,需要一些帮助来提高我对iPhone开发的了解。
===============
编辑2 ..
我已经做了别的事情,但代码中有问题,我不知道它是什么......
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
s=20;
turn =1;
while (s>0) {
// Players' Turn
if (turn = 1) {
UITouch *touch = [touches anyObject];
CGPoint touchLocation = [touch locationInView:self.view];
if (CGRectContainsPoint(sq1.frame, touchLocation)){
sq1.hidden = YES;
}
turn = 0;
}
// Computers' Turn
else {
//Computer Here
turn = 1;
}
}
}
现在,当我触摸imageView时,模拟器冻结并退出应用程序。
答案 0 :(得分:1)
最简单的方法是在隐藏的UIImageView位置顶部放置一个没有图像且没有标题文本的自定义UIButton(因此它是透明的),并将按钮的TouchUpInside操作连接到执行的方法
myImageView.hidden = NO.
答案 1 :(得分:1)
现在我可以想到两种可能的方法(可能还有更多):
使用touchesStarted:withEvent:方法并检查触摸是否在观察区域内。如果是,则显示/取消隐藏UIImageView
忘记UIImageView并改用透明UIButton。按下按钮时,如果按下了UIButton,则将图像添加到实例中。