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