Zoom in/out gesture UIView

Hi, i've been trying to capture gesture zoom in/out in a UIView.
Code:
UITouch *first = [twoTouches objectAtIndex:0];
UITouch *second = [twoTouches objectAtIndex:1];
CGPoint firstPoint = [first locationInView:self];
CGPoint secondPoint = [second locationInView:self];
CGFloat initialDistance = distanceBetweenPoints(firstPoint, secondPoint);
I'm using the function distanceBetweenPoints, the problem is that firstPoint or secondPoint always is 0.00, 0.00 and for that reason the result is the value of one of them.
I need that the booth values should be distint to zero for obtain the real distance.
The frame of the view is: (0, 0, 320, 417).
The functionality that i'm developing is something like zoom in/out of google maps.
Thanks,

Correction:
NSSet *allTouches = [event allTouches];
NSArray *twoTouches = [allTouches allObjects];
UITouch *first = [twoTouches objectAtIndex:0];
UITouch *second = [twoTouches objectAtIndex:1];
CGPoint firstPoint = [first locationInView:self];
CGPoint secondPoint = [second locationInView:self];

Similar Messages

  • The zoom in zoom out gesture doesn't work on my iPhone 5c. Like when opening an app it doesn't zoom out and opens.

    The zoom in zoom out gesture doesn't work on my iPhone 5c. Like when opening an app it doesn't zoom out and opens. It also doesn't zooms in while pressing the home button to return. The gesture is just like any other Android phone. Like while closing an app by pressing the home button the icons seem like zooming in and falling back to their respective places. This thing happens in my friends' iPhones but this thing doesn't happen on my iPhone 5C. Please help.. I am unable to find anything wrong with the settings either.
    Message was edited by: Prats20

    I have another query though. Is it possible to always logged into my Gtalk from iPhone? I am using an app called Gtalk Lite. But every time I double press the home button and swipe up the apps to close them from running in the background Gtalk lite logs me off. I have to log in to Gtalk lite again. I was looking for something like that happens on Android phones. You are always logged in even after you close them from running in the background. And also is it possible to log in to more than one gmail account on Gtalk in iPhone?

  • Why doesn't the "zoom in/out" via pinching the trackpad on my mac not work anymore with firefox? It worked before and still works with Safari.

    why doesn't the "zoom in/out" feature by pinching the trackpad on my mac work anymore with firefox? It worked about a month ago, and still works on Safari.

    Some gestures have been removed in Firefox 4 and later.
    You can restore the zoom feature by changing the values of the related prefs on the <b>about:config</b> page.
    browser.gesture.pinch.in -> <b>cmd_fullZoomReduce</b>
    browser.gesture.pinch.in.shift -> <b>cmd_fullZoomReset</b>
    browser.gesture.pinch.out -> <b>cmd_fullZoomEnlarge</b>
    browser.gesture.pinch.out.shift -> <b>cmd_fullZoomReset</b>
    browser.gesture.pinch.latched -> <b>false</b>
    To open the <i>about:config</i> page, type <b>about:config</b> in the location (address) bar and press the "<i>Enter</i>" key, just like you type the url of a website to open a website.<br />
    If you see a warning then you can confirm that you want to access that page.<br />
    *Use the Filter bar at to top of the about:config page to locate a preference more easily.
    *Preferences that have been modified show as bold(user set).
    *Preferences can be reset to the default or changed via the right-click context menu.

  • Firefox 4 does not support zoom-in/out with two fingers on Windows 7 with a multi-touch scrren, IE8 does.

    I have a HP 2740p notebook with multi-touch support. With IE8, I can zoom-in/out the web page with two fingers, but I can not with Firefox 4. It seems that FF4 only support basic touch (scroll with finger)

    Some prefs have been reset to empty values.
    You can check and change these prefs on the <b>about:config</b> page
    browser.gesture.pinch.in cmd_fullZoomReduce
    browser.gesture.pinch.in.shift cmd_fullZoomReset
    browser.gesture.pinch.out cmd_fullZoomEnlarge
    browser.gesture.pinch.out.shift cmd_fullZoomReset
    See also:
    * http://kb.mozillazine.org/about%3Aconfig

  • Adobe illustrator CC Zoom in & out problem

    Hi,
    I am facing an issue right now..
    When i open a large AI file that above 1GB, then i zoom in & out .. the design will go out of form.
    However, when i open small file like 400+ MB, no issue on zoom in & out.
    I really no idea for this issue..
    Here is my PC spec,
    Windows 8.1 Professional
    3.40 gigahertz Intel Core i7
    32GB RAM
    NVIDIA GeForce GTX 650
    TQ.

    Moving this discussion to the Illustrator forum.
    Wandasgirl I would recommend reviewing your installation logs for errors.  Please see Troubleshoot install issues with log files | CC - http://helpx.adobe.com/creative-cloud/kb/troubleshoot-install-logs-cc.html for information on how to locate and interpret your installation log files.  You are welcome to post any errors you discover to this discussion.

  • Alt & scroll wheel not working on Photoshop CC to zoom in / out

    Hey! So i'm using the latest version of Photoshop CC, and i'm also running the Technical Preview of Windows 10. So In Photshop, usually when you hold the alt key and scroll with the scroll wheel on your mouse, it will zoom in / out of the image on Photoshop. Well i'm having some problems with that, it isn't working at all. In preferences I have it set to zoom with scroll wheel. Anyone know why it isn't working? Could it be something with the Windows 10 Preview?

    Please report Windows 10 issues to Microsoft, so they can get the information they need to fix the OS bugs before shipping the final version.

  • Zoom in-out and rotation in trackpad doesn't work in iPhoto and Aperture. Any solution?

    Zoom in-out and rotation in trackpad doesn't work in iPhoto and Aperture. Any solution?

    Sound like a trackpad problem and not an iPhoto one.  Have you asked in the forum dedicated to the Mac model you're using or is this an add on trackpad?
    OT

  • Alt + mouse scroll (Zoom-In/Out) doesn't work. [was: Why it doesn't work in Illustrator?]

    Alt + mouse scroll (Zoom-In/Out) doesn't work in my illustrator program.
    What should I do?

    It is a know issue, no solution for the moment.
    But Adobe is working on this see here-> http://forums.adobe.com/message/5423070#5423070

  • Sometimes when panning with the hand tool, it zooms way out instead of just moving the canvas

    So normally when you hold the space key and drag, it just moves the canvas, but every now and then, seemingly randomly, it zooms way out and shows a little box which is the size and shape of the area of canvas I was previously looking at. If I move the box and let go of space, it zooms to that location, but all I wanted was to move normally. I don't think I've ever wanted the zoom out, move, then zoom back in behavior. What causes that? How do I make it stop?

    It's "bird's eye view" and by coincidence, your problem was discussed in another thread last night: Problem with zoom in Photoshop CS6

  • I am unable to zoom in/out using the touch pad; yesterday i could zoom in/out of website pages, pics, etc, now today it is not letting me; how do i fix this?

    i am unable to zoom in/out using the touch pad; yesterday i could zoom in/out of website pages, pics, etc, now today it is not letting me; how do i fix this?

    See Here  >  http://support.apple.com/kb/HT1212

  • T510: TouchPad no longer allowing for zoom in/out

    My TouchPad is all the sudden no longer allowing for zoom in/out.  How do I restore that function. 
    Moderator Note: Edited subject to match content.

    My T520 has recently developed a similar problem.
    With no obvious warning it now seems unable to recognise the trackpad/point. I've tried various combinations of uninstalling/installing drivers etc with no success.
    When clicking on the mouse tab in Control Panel an error message says: Unable to connect to the Synaptics Pointing Device. It then suggests removing the synaptics driver and then reinstalling other mouse drivers. This doesn't make sense as I don't have any other mouse drivers installed (bar the in-built Win7 ones which can't be removed anyway). Then rebooting the system results in no pointing devices being available at all. The trackpad gets recognised as a PS2-compliant device and prompts installation of drivers (from synaptic) which just gets back to square one.
    Also, the control panel mouse tab won't show the ultranav utility even though that is installed properly.
    So, I'm having to use an external mouse as the system doesn't seem to be able to properly use the trackpad/point. I'll keep troubleshooting but suspect this may be a software/driver issue as it was working perfectly up until recently and the hardware can still "see" the device. Both are enabled in BIOS.
    Any other people experienced similar problems?
    T520 (4242-CTO) Win7 64Pro

  • ScrollPane zoom in/out

    Hello, this is my first post.
    I'd like to add zoom in/out function to my ScrollPane, and make shortcut (CTRL+MOUSE SCROLL UP/DOWN) for it. ( like Inkscape )
    I made the following code ( Canvas ) to achieve this, but have some problems.
    *1. How can I prevent ScrollBar's thumb to move when pressing CTRL?*
    When ScrollBar is visible and ScrollBar's thumb (or scroller, knob) has room to move, CTRL+MOUSE SCROLL UP/DOWN doesn't work because the thumb moves instead of zooming in/out.
    When the thumb moves up/down to bar's end, then zoom in/out finally works fine.
    *2. ScrollEvent handler is sometimes not called in ScrollPane*
    When ScrollBarPolicy is not ScrollBarPolicy.ALWAYS and Scrollbar is not visible, SOMETIMES CTRL+SCROLL UP/DOWN operation dosen't work.
    (ScrollEvent handler is not called. For other panes, ScrollEvent works fine. Please check MouseScrollEventTest below)
    Thank you in advance.
    Canvas
    public class Canvas extends Application {
         DoubleProperty zoom = new SimpleDoubleProperty(1.0);
         final double MAX_ZOOM = 3.0;
         final double MIN_ZOOM = 0.1;
         @Override
         public void start(Stage stage) throws Exception {
              Rectangle rectangle = RectangleBuilder.create()
                   .width(1000).height(1000)
                   .fill( LinearGradientBuilder.create()
                        .stops(new Stop(0, Color.BLUE), new Stop(1, Color.RED))
                        .build()
                   ).build();
              ScrollPane scrollPane = ScrollPaneBuilder.create()
                   .content(
                        GroupBuilder.create()
                             .children(rectangle)
                             .build())
    //               .hbarPolicy(ScrollBarPolicy.ALWAYS)
    //               .vbarPolicy(ScrollBarPolicy.ALWAYS)
                   .build();
              rectangle.scaleXProperty().bind(zoom);
              rectangle.scaleYProperty().bind(zoom);
              scrollPane.setOnScroll(new EventHandler<ScrollEvent>(){
                   public void handle(ScrollEvent event) {
                        if( !event.isControlDown() ) return ;
                        double zoomValue;
                        if ( event.getDeltaY() > 0 ) {
                             zoomValue = zoom.get() + 0.1;
                        } else {
                             zoomValue = zoom.get() - 0.1;
                        if( zoomValue > MAX_ZOOM || zoomValue < MIN_ZOOM ) return ;
                        zoom.set(zoomValue);
              Scene scene = SceneBuilder.create()
                        .width(500).height(500)
                        .root(scrollPane)
                        .build();
              stage.setScene(scene);
              stage.show();
         public static void main(String[] args) {
              launch(args);
    Mouse Scroll Event Test
    public class MouseScrollEventTest extends Application {
         BorderPane bPane;
         ScrollPane sPane;
         public void start(Stage stage) throws Exception {
              EventHandler<ScrollEvent> handler = new EventHandler<ScrollEvent>() {
                   public void handle(ScrollEvent event) {
                        System.out.println(event);
              bPane = new BorderPane();
              bPane.setPrefSize(100, 100);
              sPane = new ScrollPane();
              sPane.setPrefSize(100, 100);
    //          sPane.setContent( new Rectangle(50,50) );
    //             This works fine.
              bPane.setOnScroll(handler);
    //             Sometimes, this is not called.
              sPane.setOnScroll(handler);
              HBox root = new HBox();
              root.getChildren().addAll(bPane, sPane);
              Scene scene = new Scene(root);
    //          scene.setOnScroll(handler);
              stage.setScene(scene);
              stage.show();
         public static void main(String[] args) {
              launch(args);
    }--- My Environment
    Windows Vista
    JavaFX 2.0 SDK
    Edited by: 932474 on 2012/05/07 4:31
    Edited by: 932474 on 2012/05/07 4:47

    Thank you for the good example.
    But actually, I just give up using ScrollPane and created a ZoomCanvas which can zoom in/out and pan.
    The code is here.
    Any comments or improvement would be appreciated.
    ZoomCanvas
    public class ZoomCanvas extends StackPane {
         private ZoomController zoomController;
         private Group contentWrapper;
         private double translateXWhenMousePressed, translateYWhenMousePressed;
         private double xWhenMousePressed , yWhenMousePressed;
         private static class ZoomController {
              private int deltaCount = 0;
              private final double DEFAULT_ZOOM = 1.0;
              private boolean useAnimation = true;
              private DoubleProperty zoomMax   = new SimpleDoubleProperty(10.0);
              private DoubleProperty zoomMin   = new SimpleDoubleProperty(0.1);
              private DoubleProperty zoomDelta = new SimpleDoubleProperty(1.2);
              private DoubleProperty zoom      = new SimpleDoubleProperty( DEFAULT_ZOOM );
              public ZoomController() {
              public void zoomIn() {
                   double zoomValue = DEFAULT_ZOOM * Math.pow(zoomDelta.get(), deltaCount+1);
                   if( zoomValue > zoomMax.get() ) {
                        setZoom(zoomMax.get());
                        return;
                   deltaCount++;
                   setZoom( zoomValue );
              public void zoomOut() {
                   double zoomValue = DEFAULT_ZOOM * Math.pow(zoomDelta.get(), deltaCount-1);
                   if( zoomValue < zoomMin.get() ) {
                        setZoom(zoomMin.get());
                        return;
                   deltaCount--;
                   setZoom( zoomValue );
              public void setZoom( double zoomValue ) {
                   if( useAnimation ) {
                        Timeline zoomTimeline = new Timeline();
                        zoomTimeline.getKeyFrames().add(
                             new KeyFrame(Duration.millis(300), new KeyValue(zoom, zoomValue))
                        zoomTimeline.play();
                   } else {
                        zoom.set(zoomValue);
         public ZoomCanvas(Node content) {
              super();
              Rectangle clip = new Rectangle();
              clip.widthProperty().bind(widthProperty());
              clip.heightProperty().bind(heightProperty());
              // to adjust layoutBounds when drawingPane's scale changes
              contentWrapper = new Group(content);          
              StackPane.setAlignment(contentWrapper, Pos.CENTER);
              getChildren().add(contentWrapper);
              zoomController = new ZoomController();
              content.scaleXProperty().bind(zoomController.zoom);
              content.scaleYProperty().bind(zoomController.zoom);
              content.translateXProperty();
              hookEvents();
              setClip(clip);
         private void hookEvents() {
              setOnScroll(new EventHandler<ScrollEvent>() {
                   public void handle(ScrollEvent event) {
                        if( event.getDeltaY() > 0 ) {
                             zoomController.zoomIn();
                        } else {
                             zoomController.zoomOut();
              setOnMousePressed(new EventHandler<MouseEvent>(){
                   public void handle(MouseEvent event) {
                        if( !event.isMiddleButtonDown() ) return ;
                        translateXWhenMousePressed = contentWrapper.getTranslateX();
                        translateYWhenMousePressed = contentWrapper.getTranslateY();
                        xWhenMousePressed = event.getX();
                        yWhenMousePressed = event.getY();
                        setCursor(Cursor.MOVE);
                        event.consume();
              setOnMouseReleased(new EventHandler<MouseEvent>(){
                   public void handle(MouseEvent event) {
                        setCursor(Cursor.DEFAULT);
              setOnMouseDragged(new EventHandler<MouseEvent>(){
                   public void handle(MouseEvent event) {
                        if(!event.isMiddleButtonDown())
                             return;
                        contentWrapper.setTranslateX( translateXWhenMousePressed +  event.getX() - xWhenMousePressed );
                        contentWrapper.setTranslateY( translateYWhenMousePressed +  event.getY() - yWhenMousePressed );
                        event.consume();
    ZoomCanvasTest
    public class ZoomCanvasTest extends Application {
         public void start(Stage primaryStage) throws Exception {
              Rectangle rect = new Rectangle(0,0,100,100);
              rect.setStyle("-fx-fill: blue;");
              Circle circle = new Circle(100,100,50);
              circle.setStyle("-fx-fill: red;");
              Pane canvasContent = new Pane();
              canvasContent.setStyle(
                        "-fx-background-color: papayawhip;" +
                        "-fx-border-color: black;");
              canvasContent.getChildren().add(circle);
              canvasContent.getChildren().add(rect);
              ZoomCanvas canvas = new ZoomCanvas(canvasContent);
              canvas.setStyle(
                   "-fx-background-color: mistyrose;" +
                   "-fx-border-color: black;"
              ToolBar toolBar = new ToolBar();
              toolBar.setOrientation(Orientation.VERTICAL);
              toolBar.getItems().add( new Button("sample") );
              BorderPane root = new BorderPane();
              root.setCenter(canvas);
              root.setRight(toolBar);
    //          root.getChildren().addAll(canvas, toolBar);
              Scene scene = new Scene(root);
              primaryStage.setScene(scene);
              primaryStage.show();
         public static void main(String[] args) {
              launch(args);
    }Edited by: 932474 on 2012/05/08 10:17
    Edited by: 932474 on 2012/05/08 10:40
    Edited by: 932474 on 2012/05/08 10:56

  • Browsers auto zoom in/out

    Hello,
    Recently my browsers (safari,chrome) behave oddly, it auto zoom in/out, sometimes really fast like it shaking or something, so far it only happens when i'm using Wacom tablet, I don't know exactly when this started, I guess when I upgraded to 10.6.6, i've asked Wacom Support they suggested to re-install driver, but still problem persist. Maybe anyone here knows what's going on?

    Must be a setting on the tablet. You need to speak to Wacom.

  • After zoom in/out to open callout is wrong position

    Dear All
    After zoom in/out screen , i open callout.
    I'm having problems with its position
    code:
        <fx:Declarations>   
              <s:Callout   id="bCallout"
                      mouseDownOutside="bCallout.close()"
                      mouseUp="bCallout.close()"
                      backgroundColor="0x999999"
                      contentBackgroundAlpha="0"/>
       </fx:Declarations>
      <fx:Script>
         private function zoom_action(act:String):void {
                   var z:Number;
                    if(act=='+'){
                          z=0.25;
                    }else{
                           z=-0.25;
                    var my_matrix:Matrix = new Matrix();
                    my_matrix.scale(gr1.scaleX+z, gr1.scaleX+z);
                    gr1.transform.matrix=my_matrix;
       </fx:Script>
      <s:Group id="gr1">
              <s:Button id="btn1"  x="24" y="50" label="btnA" click="bCallout.open(btn1)"/>
              <s:Button id="btn2"  x="100" y="100" label="btnB" click="bCallout.open(btn2)"/>
               <s:Button id="btn3"  x="170" y="150" label="btnC" click="bCallout.open(btn3)"/>
      </s:Group>
      <s:Button id="zoomin" y="10" right="108" width="44" height="42" label="+" alpha="0.5"
                                    click="zoom_action('+')"/>
      <s:Button id="zoomout" y="10" right="59" width="44" height="42" label="-" alpha="0.5"
                                    click="zoom_action('-')"/>
    Any ideas what I'm doing wrong?

    You need a Mac user to come along and give you better advice, but meanwhile, Goggle
    photoshop cc lag yosemite
    You are _not_ alone.

  • Video zoom in/out

    i am having troulbe zooming in/out in video mode. i have to manually zoom in/out in photo mode, then go back to video mode to stay at those current settings, and shoot the video from there... how can i change my zoom lense in video mode?

    sniper8752 wrote:
    well thats dumb!
    The camera is not the video recorder, two separate applications, they don't interact.
    1. If any post helps you please click the below the post(s) that helped you.
    2. Please resolve your thread by marking the post "Solution?" which solved it for you!
    3. Install free BlackBerry Protect today for backups of contacts and data.
    4. Guide to Unlocking your BlackBerry & Unlock Codes
    Join our BBM Channels (Beta)
    BlackBerry Support Forums Channel
    PIN: C0001B7B4   Display/Scan Bar Code
    Knowledge Base Updates
    PIN: C0005A9AA   Display/Scan Bar Code

Maybe you are looking for

  • How to support multiple users at the same time?

    Hi all, I have a Labview software which controls a analyzer via GPIB connector. When user A is using the software, user B has to wait until A is done. But actually, the analyzer is not very busy, when user A is using the software. I want user A, B, C

  • Error while reading PDF file

    I have following file which is showing following character please assist me as early as possible how to recover whole PDF file. ÌÑ|•Ù½Ï@߃åC‚¶Ä&#141;>‰ÓluÊ–Ê/Ùtk¢Ír ¥&#141;μji>$›q‰¯îüNò>„ÑΔ“]ͼÛë XÓÌ'Ãá8s Äþ.&#127;„ñ+Ä0áõì«W%tù?? ËN.†s ¿].a¶/—~âí2/X

  • I am currently having trouble with an attached PDF fill-able form created in Acrobat being non savable in Reader

    Hello, I was wondering if you would be able to help me out? I am having trouble with my attached PDF fill-able form, I am creating a form that has a limit of one page so in order for more room in a certain field I have added a Hyperlink to an additio

  • Printing page numbers in smartform

    Hello all, we need to print page numbers as Page 1 of 10 etc.. But I can not use SFSY-FORMPAGES because I print multiple documents. I need to know how many pages will be printed in advance. Every time a new document comes we have to start the count a

  • Suspicious behaviour: Does installing Adobe Reader also installs Google Toolbar and Chrome?

    Adobe staff, please confirm this behaviour... Yesterday I downloaded Adobe Reader from http://get.adobe.com/reader/ for my freshly installed Windows 7 computer. While installing Adobe Reader, the app also automagically installed Google Toolbar on my