繁体   English   中英

如果我单击ImageView中的任何位置,则显示TextView和在TextView中键入文本

[英]Showing TextView and Typing Text in TextView if i click any places in ImageView

我想显示TextView,并想在TextView中键入文本。 每当我单击或触摸ImageView中的任何位置时。

实际上,我在这里为TextView设置了UITapGestureRecognizer。 同样,一旦我在TextView中键入文本,它应该是自动可保存的。

在这里我设置了ImageView。之后设置了SubView,在SubView中设置了ImageView进行缩放。 现在我得到了缩放图像。 确实,如果我单击或触摸“缩放ImageView”中的任何位置,它应该显示TextView以及在TextView中键入文本后,它应该是“自动保存”的。

但是,每当我单击或触摸Zoom ImageView时,我都无法获得TextView。

我该怎么办?

.h部分以下

  #import <UIKit/UIKit.h>
  @interface GalleryCameraBusinessViewController : UIViewController<UIImagePickerControllerDelegate,UITextViewDelegate,UIGestureRecognizerDelegate>
  {

     UIView *dynamicView;
     UIImageView *dynamicImage;
     UITextView *textView;
     UITextView * textviewtext;

  }
  - (IBAction)backtobusinesscard:(id)sender;
  @property (strong, nonatomic) IBOutlet UISwitch *swit;
  - (IBAction)switchaction:(id)sender;
  @property (strong, nonatomic) IBOutlet UIImageView *pickingimageofcamgal;
  @property (strong, nonatomic) IBOutlet UITextField *enternametextfld;

  @end

.m部分

  #import "GalleryCameraBusinessViewController.h"
  @interface GalleryCameraBusinessViewController ()
  @end
  @implementation GalleryCameraBusinessViewController
  @synthesize swit,pickingimageofcamgal,enternametextfld;
  - (void)viewDidLoad
  {
     [super viewDidLoad];
   // Do any additional setup after loading the view.
     [self tapdetected];
  }
  - (void)viewWillAppear:(BOOL)animated
  {
      UITapGestureRecognizer *tapgesture =[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapdetected)];
      tapgesture.numberOfTouchesRequired =1;
      tapgesture.numberOfTapsRequired =1;
      pickingimageofcamgal.userInteractionEnabled =YES;
     [pickingimageofcamgal addGestureRecognizer:tapgesture];




      UITapGestureRecognizer *tapgesture1 =[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapdetected1)];
      tapgesture1.numberOfTapsRequired =1;
      tapgesture1.numberOfTouchesRequired =1;
      pickingimageofcamgal.userInteractionEnabled =YES;
      [pickingimageofcamgal addGestureRecognizer:tapgesture1];



      UITapGestureRecognizer *tapgesture2 =[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapdetected2)];
      tapgesture2.numberOfTouchesRequired =1;
      tapgesture2.numberOfTapsRequired =1;
      pickingimageofcamgal.userInteractionEnabled=YES;
      [pickingimageofcamgal addGestureRecognizer:tapgesture2];




      //    UITapGestureRecognizer  *tapgesture3 =[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapdetected3)];

     //    tapgesture3.numberOfTapsRequired =1;
     //     dynamicView.userInteractionEnabled =YES;
     //    [dynamicView addGestureRecognizer:tapgesture3];




      UITapGestureRecognizer *tapgesture4 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapdetected4)];
      tapgesture4.numberOfTapsRequired=1;
      tapgesture4.numberOfTouchesRequired =1;
      tapgesture4.delegate =self;
      dynamicImage.userInteractionEnabled =YES;
      [dynamicImage addGestureRecognizer:tapgesture4];
      NSLog(@"textview is==%@",textviewtext);
   }
    - (void)didReceiveMemoryWarning
   {
      [super didReceiveMemoryWarning];
      // Dispose of any resources that can be recreated.
   }

    - (IBAction)backtobusinesscard:(id)sender
   {
      [self.navigationController popViewControllerAnimated:YES];

   }
   -(void)tapdetected
   {
      UIImagePickerController*picker =[[UIImagePickerController alloc]init];
      picker.sourceType =UIImagePickerControllerSourceTypePhotoLibrary;
      picker.delegate =self;
      [self presentViewController:picker animated:NO completion:nil];
   }
   -(void)tapdetected1
   {

     UIImagePickerController *picker =[[UIImagePickerController alloc]init];
     picker.sourceType =UIImagePickerControllerSourceTypeCamera;
     picker.delegate =self;
     [self presentViewController:picker animated:NO completion:nil];
   }

  -(void)tapdetected2
   {

      //For dynamically creating view
         dynamicView =[[UIView alloc]initWithFrame:CGRectMake(10, 70, 280, 300)];
         dynamicView.backgroundColor=[UIColor whiteColor];
         [self.view addSubview:dynamicView];


     //For dynamically creating imageview
        dynamicImage =[[UIImageView alloc]init];
        dynamicImage.frame=CGRectMake(10, 60, 280, 300);
        [dynamicImage setUserInteractionEnabled:YES];
        dynamicImage.image =pickingimageofcamgal.image;
        [dynamicView addSubview:dynamicImage];
    }
    //-(void)tapdetected3
    //{
    //    textviewtext =[[UITextView alloc]initWithFrame:CGRectMake(20, 120, 120, 53)];
    //    textviewtext.backgroundColor=[UIColor redColor];
    //    [textviewtext setDelegate:self];
    //    textviewtext.text=@"Welcome to textview";
    //    [dynamicView addSubview:textviewtext]; +

    //}
     -(void)tapdetected4
     {
       textviewtext =[[UITextView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)];
       textviewtext.backgroundColor = [UIColor blueColor];
       [textviewtext setDelegate:self];
       textviewtext.text=@"HI";
       [dynamicImage addSubview:textviewtext];
     }

    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
    {
       pickingimageofcamgal.image =[info objectForKey:UIImagePickerControllerOriginalImage];
       picker.delegate=self;
       [picker dismissViewControllerAnimated:YES completion:nil];
    }



    - (void)imagePickerControllerDidCancel:(UIImagePickerController*)picker
    {
       [picker dismissViewControllerAnimated:YES completion:nil];
    }

    - (IBAction)switchaction:(id)sender
    {
       if(swit.isOn)
       {
         [self tapdetected];
       }
       else
       {
         [self tapdetected1];
       }
    }}

实际上,您需要修改一些行,因为您是在分配动态视图之前创建了tapgesture4的,其原因是显示为空,现在您只需做一个简单的更改,只需将tapgesture4转换为tapdetected2方法即可,现在检查就可以了对你很好。

-(void)tapdetected2
{

  //For dynamically creating view
     dynamicView =[[UIView alloc]initWithFrame:CGRectMake(10, 70, 280, 300)];
     dynamicView.backgroundColor=[UIColor whiteColor];
     [self.view addSubview:dynamicView];


 //For dynamically creating imageview
    dynamicImage =[[UIImageView alloc]init];
    dynamicImage.frame=CGRectMake(10, 60, 280, 300);
    [dynamicImage setUserInteractionEnabled:YES];
    dynamicImage.image =pickingimageofcamgal.image;
    [dynamicView addSubview:dynamicImage];

UITapGestureRecognizer *tapgesture4 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapdetected4)];
  tapgesture4.numberOfTapsRequired=1;
  tapgesture4.numberOfTouchesRequired =1;
  tapgesture4.delegate =self;
  dynamicImage.userInteractionEnabled =YES;
  [dynamicImage addGestureRecognizer:tapgesture4];
  NSLog(@"textview is==%@",textviewtext);


}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM