2016-07-25 24 views
2

Dies ist ein Vorlagenbild (http://i.stack.imgur.com/9ME6A.jpg), in dem mehrere kreisförmige Bereiche verfügbar sind. Wir müssen, wenn wir auf einen kreisförmigen Bereich klicken (einer nach dem anderen), dann sollte die Galerie geöffnet sein und nach der Auswahl des Bildes aus der Galerie sollte dieses Bild auf dem ausgewählten kreisförmigen Bereich angezeigt werden. Bitte geben Sie mir einen Link oder eine Demo für mein Problem. Ich stecke hier fest.So fügen Sie ein Bild in einem bestimmten Bereich in einem Vorlagenbild hinzu

Danke!

+0

Zeig mir deine Codierung bis jetzt, was Sie versucht? – user3182143

+0

Sind zirkuläre Bilder in tableView oder View? – user3182143

+0

Bitte sehen Sie das Template Image im geven link –

Antwort

0
  1. Machen Sie einen ViewController mit 5 Ansichten "UIImageView". Ordnen Sie, wie Sie es brauchen
  2. Platzieren Sie dort Ihre Lächeln Bilder.
  3. hinzufügen UITapGestureRecognizer in jedem UIImageView und fangen sie
  4. öffnen UIImagePicker und Ihr VC als Delegierter machen
  5. Fang Benutzer ausgewählten Bild Ereignis und legen Sie das Bild auf Ihren konkreten UIImageView
+0

Eigentlich ist das Template Image nicht statisch es kommt aus dem Backend also smile circular Bereich kann irgendwo in der Vorlage liegen Bild und Anzahl der Kreise kann auch unterschiedlich sein wie - 1 2 3 4 5 6 8 9 etc –

0

Sie sollten die Zuordnung erhalten (Position und Abmessungen) von kreisförmigen Bildern im Vorlagenbild aus dem Backend und verwenden Sie diese Werte zum Anzeigen von Kreisen und Auswählen von Bildern aus der Galerie.

Wenn Sie ein einzelnes Bild mit allen Kreisen erhalten, ist es sehr schwierig, alle Kreise (mit komplexen Algorithmen) im einzelnen Bild zu identifizieren.

Wenn das Back-End die Mapping-Daten bereitstellen kann, ist die erste Methode die richtige Methode.

0

in ViewController.h

#import <UIKit/UIKit.h> 
#import <QuartzCore/QuartzCore.h> 
@interface ViewController : UIViewController <UINavigationControllerDelegate,UIImagePickerControllerDelegate,UIGestureRecognizerDelegate> 
@property (strong, nonatomic) IBOutlet UIImageView *imageView1; 
@property (strong, nonatomic) IBOutlet UIImageView *imageView2; 
@property (strong, nonatomic) IBOutlet UIImageView *imageView3; 
@property (strong, nonatomic) IBOutlet UIImageView *imageView4; 
@property (strong, nonatomic) IBOutlet UIImageView *imageView5; 
@end 

ViewController.m

#import "ViewController.h" 
@interface ViewController() 
{ 
    UIImageView *imageviewPick; 
} 
@end 
@implementation ViewController 
@synthesize imageView1,imageView2,imageView3,imageView4,imageView5; 


- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
// Do any additional setup after loading the view, typically from a nib. 

imageView1.layer.cornerRadius = self.imageView1.frame.size.height/2; 
imageView1.layer.borderWidth = 1.0f; 
imageView1.layer.borderColor = [[UIColor grayColor] CGColor]; 
imageView1.layer.masksToBounds = YES; 

imageView2.layer.cornerRadius = self.imageView2.frame.size.height/2; 
imageView2.layer.borderWidth = 1.0f; 
imageView2.layer.borderColor = [[UIColor grayColor] CGColor]; 
imageView2.layer.masksToBounds = YES; 

imageView3.layer.cornerRadius = self.imageView3.frame.size.height/2; 
imageView3.layer.borderWidth = 1.0f; 
imageView3.layer.borderColor = [[UIColor grayColor] CGColor]; 
imageView3.layer.masksToBounds = YES; 

imageView4.layer.cornerRadius = self.imageView4.frame.size.height/2; 
imageView4.layer.borderWidth = 1.0f; 
imageView4.layer.borderColor = [[UIColor grayColor] CGColor]; 
imageView4.layer.masksToBounds = YES; 

imageView5.layer.cornerRadius = self.imageView5.frame.size.height/2; 
imageView5.layer.borderWidth = 1.0f; 
imageView5.layer.borderColor = [[UIColor grayColor] CGColor]; 
imageView5.layer.masksToBounds = YES; 



UITapGestureRecognizer *tap1 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapImageOne:)]; 
tap1.numberOfTapsRequired = 1; 

UITapGestureRecognizer *tap2 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapImageTwo:)]; 
tap2.numberOfTapsRequired = 1; 

UITapGestureRecognizer *tap3 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapImageThree:)]; 
tap3.numberOfTapsRequired = 1; 

UITapGestureRecognizer *tap4 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapImageFour:)]; 
tap4.numberOfTapsRequired = 1; 

UITapGestureRecognizer *tap5 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapImageFive:)]; 
tap4.numberOfTapsRequired = 1; 


imageView1.userInteractionEnabled = YES; 
imageView2.userInteractionEnabled = YES; 
imageView3.userInteractionEnabled = YES; 
imageView4.userInteractionEnabled = YES; 
imageView5.userInteractionEnabled = YES; 


[imageView1 addGestureRecognizer:tap1]; 
[imageView2 addGestureRecognizer:tap2]; 
[imageView3 addGestureRecognizer:tap3]; 
[imageView4 addGestureRecognizer:tap4]; 
[imageView5 addGestureRecognizer:tap5]; 
} 
- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

-(void)tapImageOne:(UIGestureRecognizer *)tapGesture 
{ 
    imageviewPick = (UIImageView *)tapGesture.view; 
    [self showGallery]; 
} 
-(void)tapImageTwo:(UIGestureRecognizer *)tapGesture 
{ 
    imageviewPick = (UIImageView *)tapGesture.view; 
    [self showGallery]; 
} 
-(void)tapImageThree:(UIGestureRecognizer *)tapGesture 
{ 
    imageviewPick = (UIImageView *)tapGesture.view; 
    [self showGallery]; 
} 
-(void)tapImageFour:(UIGestureRecognizer *)tapGesture 
{ 
    imageviewPick = (UIImageView *)tapGesture.view; 
    [self showGallery]; 
} 
-(void)tapImageFive:(UIGestureRecognizer *)tapGesture 
{ 
    imageviewPick = (UIImageView *)tapGesture.view; 
    [self showGallery]; 
} 

-(void)showGallery 
{ 
    UIImagePickerController *pickImage = [[UIImagePickerController alloc]init]; 
    pickImage.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
    pickImage.delegate = self; 
    [self presentViewController:pickImage animated:YES completion:nil]; 
} 

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info 
{ 
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage]; 
    imageviewPick.image = image; 
    [picker dismissViewControllerAnimated:YES completion:nil]; 
} 
@end