سؤال

كيف أضيف تراكب (UIImageView) إلى معاينة الكاميرا واللمس على هذا؟

محاولاتي السابقة للقيام بذلك (على سبيل المثال الاستخدام UIImagePickerController وأضف الصورة كقصة فرعية) فشلت.

هل كانت مفيدة؟

المحلول

يشرح ذلك هذا البرنامج التعليمي: http://www.musicalgeometry.com/؟p=821

فقط أضف uiimage في عرض التراكب بدلاً من المنطقة الحمراء الموضحة في البرنامج التعليمي.

نصائح أخرى

لملف التنفيذ الخاص بك:

- (IBAction)TakePicture:(id)sender {

    // Create image picker controller
    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];

    // Set source to the camera
    imagePicker.sourceType =  UIImagePickerControllerSourceTypeCamera;

        // Delegate is self
        imagePicker.delegate = self;

        OverlayView *overlay = [[OverlayView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];     

        // Insert the overlay:
        imagePicker.cameraOverlayView = overlay;

       // Allow editing of image ?
        imagePicker.allowsImageEditing = YES;
        [imagePicker setCameraDevice:
        UIImagePickerControllerCameraDeviceFront];
        [imagePicker setAllowsEditing:YES];
        imagePicker.showsCameraControls=YES;
        imagePicker.navigationBarHidden=YES;
        imagePicker.toolbarHidden=YES;
        imagePicker.wantsFullScreenLayout=YES;

        self.library = [[ALAssetsLibrary alloc] init];

        // Show image picker
        [self presentModalViewController:imagePicker animated:YES];
    }

قم بعمل فئة UIVIEW وأضف هذا الرمز

    - (id)initWithFrame:(CGRect)frame
    {
        self = [super initWithFrame:frame];
        if (self) {
            // Initialization code


            // Clear the background of the overlay:
            self.opaque = NO;
            self.backgroundColor = [UIColor clearColor];

            // Load the image to show in the overlay:
            UIImage *overlayGraphic = [UIImage imageNamed:@"overlaygraphic.png"];
            UIImageView *overlayGraphicView = [[UIImageView alloc] initWithImage:overlayGraphic];
            overlayGraphicView.frame = CGRectMake(30, 100, 260, 200);
            [self addSubview:overlayGraphicView];

        }
        return self;
    }

قد تكون قادرًا على إضافة ملف UIImageView كمظهر فرعي للنافذة الرئيسية مباشرة بدلاً من UIImagePicker, ، قد يعمل بشكل أفضل. فقط تأكد من إضافتها بالترتيب الصحيح ، أو الاتصال

[window bringSubviewToFront:imageView];

بعد انتهاء الكاميرا.

إذا كنت تريد التعامل مع اللمسات على UIImageView يمكنك فقط إضافة UIImageView كإلقاء نظرة فرعية على شاشة ملء طبيعية View بخلفية شفافة ، وأضف الذي - التي إلى النافذة بدلاً من ذلك ، مع طبيعية UIViewController الفئة الفرعية التي يمكنك استخدامها للتعامل مع أحداث اللمس.

شاهد عرض تراكب الكاميرا (متوفر في 3.1 وبعد ذلك)

@property(nonatomic, retain) UIView *cameraOverlayView
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top