`
rensanning
  • 浏览: 3546039 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38098
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607099
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682044
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89207
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:401676
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69652
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91648
社区版块
存档分类
最新评论

在Titanium中实现图片的Rotate和Pinch Gesture

阅读更多
在iPhone中,图片的缩放,移动,旋转以及Pinch Gesture功能在Titanium Mobile中并不支持这样Gesture。这里有人做了一个Module来实现这个功能。(只限于iOS)

Gesture-Recognizer

在view中将rotateGesture、pinchGesture设置为true后,就能处理rotate,pinch的事件了。

Gesture完成后,将触发rotateend、pinchend事件。

代码大概是下边这样:
var window = Ti.UI.createWindow({  
    orientationModes:[  
              Ti.UI.LANDSCAPE_LEFT,  
              Ti.UI.LANDSCAPE_RIGHT,  
              Ti.UI.PORTRAIT,  
              Ti.UI.UPSIDE_PORTRAIT  
             ]  
});  
  
var image = Ti.UI.createImageView({  
    image:"lena_std.jpg",  
    rotateGesture:true,  
    pinchGesture:true  
});  
var lastAngle = 0.0;  
var currentAngle = 0.0;  
  
var lastScale = 1.0;  
var currentScale = 1.0;  
  
image.addEventListener('rotate', function(e){  
    currentAngle = e.rotation / Math.PI * 180.0;  
    image.transform = Ti.UI.create2DMatrix()  
        .scale(lastScale*currentScale)  
        .rotate(lastAngle+currentAngle);  
});  
  
image.addEventListener('rotateend', function(e){  
    lastAngle = (lastAngle + currentAngle) % 360.0;  
    currentAngle = 0.0;  
});  
  
image.addEventListener('pinch', function(e){  
    currentScale = e.scale;  
    image.transform = Ti.UI.create2DMatrix()  
        .scale(lastScale*currentScale)  
        .rotate(lastAngle+currentAngle);  
});  
  
image.addEventListener('pinchend', function(e){  
    lastScale = (lastScale * currentScale);  
    currentScale = 1.0;  
});  
  
window.add(image);  
window.open(); 


效果图如下:


  • 大小: 53.3 KB
  • 大小: 34 KB
  • 大小: 14.3 KB
0
0
分享到:
评论

相关推荐

    Titanium中支持IOS设备的拖拽

    6. **兼容性检查**:由于拖放功能是iOS 11及更高版本才引入的,因此在实现时需要检查设备的iOS版本,确保功能在兼容性范围内正常工作。 `TiDrop.js`这个文件可能包含了上述所有步骤的实现,提供了易于使用的API,让...

    TitaniumMobile模块识别旋转和捏合捏合手势_Objective-C_Python_下载.zip

    本篇将深入探讨如何在Titanium Mobile中利用Objective-C和Python实现旋转(rotate)和捏合(pinch)手势识别。 首先,我们要理解手势识别的基本概念。手势识别是移动设备通过检测用户的触摸屏幕动作,如滑动、点击...

    Google-Cloud-Messaging--Titanium-, 在 Titanium 中,Google云消息传递.zip

    Google-Cloud-Messaging--Titanium-, 在 Titanium 中,Google云消息传递 Google-Cloud-Messaging--Titanium -注册带有GCM和处理发送到设备的通知的Titanium MODULE 。Android平台使用c2dm进行推送,但是因为c2dm停止...

    使用Titanium来开发“Path”的一些创新UI布局 - 左右菜单

    在 Titanium 中实现这样的功能,开发者可能需要自定义视图和手势检测。具体步骤可能包括: 1. **创建视图(Views)**:为菜单和主要内容创建两个独立的视图,菜单视图通常隐藏,而主要内容视图则占据屏幕的主区域。...

    在Titanium中通过使用BEGIN/COMMIT来加速SQLite插入操作

    通过合理使用BEGIN/COMMIT事务,开发者可以在Titanium中实现更高效的数据插入,提高应用性能,尤其在处理大量数据时效果显著。同时,结合其他优化策略,如SQL语句优化,可以进一步提升数据库操作的效率。

    Titanium中文版开发手册

    通过Alloy,开发者可以更有效地组织项目结构,实现数据绑定和模板化,从而简化移动应用的开发过程。 2. **Alloy Concepts(Alloy概念)** 这一部分深入讲解了Alloy的核心概念,包括模型、集合、控制器、视图和样式...

    Titanium plugin开发初探

    在移动应用开发领域,Titanium 是一个流行的选择,它允许开发者使用 JavaScript 来构建原生的 iOS 和 Android 应用。Titanium 的核心理念是通过跨平台的 JavaScript API 提供与原生功能的无缝对接,而插件开发则是这...

    TitaniumBackup_6.0.5.1

    在安卓设备的管理和维护中,数据备份与恢复是至关重要的环节。TitaniumBackup_6.0.5.1,这款专业版应用,以其强大的功能和高效的操作,为用户提供了可靠的数据管理工具。它的静默恢复特性,更是为用户带来了前所未有...

    titanium 打开本地网络

    在涉及到“titanium 打开本地网络”的话题时,我们主要关注的是如何在Titanium应用程序中检测和管理本地网络状态。 一、Titanium的网络检测 在Titanium中,可以使用`Ti.Network`模块来检查设备的网络状态。这个...

    Titanium中Httpclient访问REST 服务

    结合提供的"TitaniumRestWebService"文件,这可能是一个示例项目,包含了如何在Titanium应用中实现REST服务调用的具体代码。通过查看该项目中的源码,你可以深入了解如何在实际环境中集成这些概念。记得阅读博客文章...

    Titanium资料

    UIView 是 iOS 平台上视图的基础类,它在 Titanium 中被用来创建和管理用户界面元素。通过这个文档,你可以了解到如何创建、布局和交互各种 UI 元素,如按钮、文本框、图片视图等,以及如何添加事件监听器来响应用户...

    Titanium中SOAPClient访问SOAP协议的WebService

    通过阅读`TitaniumSOAPWebService`这个压缩包中的文件,你可以找到更具体的示例和实践,进一步了解如何在Titanium项目中实现SOAP客户端的功能。这些文件可能包含了完整的示例代码、测试用例,甚至可能有详细的解释和...

    Titanium Mobile API

    在 Titanium Mobile API 中,核心组成部分是 Titanium Module。这些模块包含了大量预定义的对象和方法,旨在简化常见的移动开发任务。例如: - **Ti.UI**:用户界面组件,包括按钮、文本框、列表视图等。 - **Ti....

    前端开源库-node-titanium-sdk

    在实际开发过程中,使用`node-titanium-sdk`时,开发者需要熟悉Titanium的API,理解如何通过JavaScript代码调用这些API来实现原生功能。同时,还需要掌握基本的移动应用设计原则,以确保应用在不同平台上拥有良好的...

    Titanium Mobile SDK 3.1.0 Apidoc 离线版

    在学习和使用Titanium Mobile SDK 3.1.0 的过程中,Apidoc是一个不可或缺的资源。它能帮助开发者快速查找和理解所需的功能,解决开发过程中的问题。虽然这个离线版的Apidoc在视觉呈现上可能不那么吸引人,但其内在的...

    Titanium开发者平台介绍

    - **Titanium.Gesture**:识别触摸屏上的手势动作。 - **Titanium.Map**:地图功能集成。 #### 四、开发环境搭建 为了顺利开发Titanium应用,开发者需要准备以下工具和环境: - **硬件需求**:建议使用Mac电脑作为...

    Titanium_ziliao

    在"Titanium_ziliao"这个项目中,我们主要探讨的是钛合金(Titanium Alloy)的相关知识。钛合金是一种结合了钛元素和其他金属元素的合金材料,它在多个领域,如航空航天、医疗器械、体育用品等,都有广泛的应用。...

Global site tag (gtag.js) - Google Analytics