Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.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 在UICapgestureRecognitor上添加UIImageView,并使用其他UIgestureRecognitor子类操作添加的UIImageView_Ios_Objective C_Cocoa_Uigesturerecognizer_Uitapgesturerecognizer - Fatal编程技术网

Ios 在UICapgestureRecognitor上添加UIImageView,并使用其他UIgestureRecognitor子类操作添加的UIImageView

Ios 在UICapgestureRecognitor上添加UIImageView,并使用其他UIgestureRecognitor子类操作添加的UIImageView,ios,objective-c,cocoa,uigesturerecognizer,uitapgesturerecognizer,Ios,Objective C,Cocoa,Uigesturerecognizer,Uitapgesturerecognizer,可能看起来我没有做作业,但我没有发现类似的问题 当使用UIApgestureRecognitor点击UIView时,我正在以编程方式创建UIImageView。然后我想在创建的UIImageView上使用/应用其他UIgestureRecognitor子类 解决这个问题的最佳方案是什么 注意:当前代码正在工作并执行我想做的事情,但我希望避免调用[self-viewDidLoad];从另一种方法看pasteImage方法 这是我的相关代码 .h文件 @property (retain, nonat

可能看起来我没有做作业,但我没有发现类似的问题

当使用UIApgestureRecognitor点击UIView时,我正在以编程方式创建UIImageView。然后我想在创建的UIImageView上使用/应用其他UIgestureRecognitor子类

解决这个问题的最佳方案是什么

注意:当前代码正在工作并执行我想做的事情,但我希望避免调用[self-viewDidLoad];从另一种方法看pasteImage方法

这是我的相关代码

.h文件

@property (retain, nonatomic) IBOutlet UIImageView *imageView;
@property (retain, nonatomic) IBOutlet UIImageView *character;
@property (retain, nonatomic) IBOutlet UIImage *uiImg;
.m文件

@synthesize character;
@synthesize uiImg;

- (void)pasteImage:(UITapGestureRecognizer *)t

{

imageNSArray = [NSMutableArray array];
uiImg = [UIImage imageNamed:@"homer.png"];
CGPoint loc = [t locationInView:self.view];

    for (character in imageNSArray)
{
    if ([character pointInside:[character convertPoint:loc fromView:self.imageView] withEvent:nil])
    {
        [imageNSArray removeObject:character];
        [character removeFromSuperview];
        return;
    }
}

    character = [[UIImageView alloc] initWithImage:uiImg];
    character.center = loc;
    NSLog(@"self.character value %@",character);
    [imageNSArray addObject:character];
    [self viewDidLoad];
}

- (void)viewDidLoad
{
    //Tap gesture
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(pasteImage:)];
    [self.previewImage addGestureRecognizer:tap];
    //Pan gesture
    character = [[UIImageView alloc]initWithImage:uiImg];
    UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
    pan.delegate = self;
    [character addGestureRecognizer:pan];
    [pan setMinimumNumberOfTouches:1];
    [pan setMaximumNumberOfTouches:1];
    character.center = self.view.center;
    [self.view addSubview:character];
    character.userInteractionEnabled = YES;
    [tap release];
    [pan release];

    [super viewDidLoad];
}

- (void)handlePan:(UIPanGestureRecognizer *)recognizer 
{
    CGPoint translation = [recognizer translationInView:self.view];
    recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x,
                                        recognizer.view.center.y + translation.y);
    [recognizer setTranslation:CGPointMake(0, 0) inView:self.view];

}

将您的点击和平移手势识别器设置为全局,并将其声明为viewDidLoad中的状态。然后,您可以根据需要启用或禁用它们。这样,您就不必一次又一次地声明它们。

如何使它们成为全局的?通过声明它们类似于.h文件中的UIImageView属性:@property strong,非原子UIAPTgestureRecognitizer*点击;我从来没有想过要让它们全球化,所以当你说我不明白的时候。现在它正在工作。实际上,我正在考虑为此创建uiimageview的子类。不管怎样,它起作用了。非常感谢。