为 ios 构建一个具有电子签名功能的应用程序,可能使用单点触控?

2023-12-13

这只是一个简单的问题,因为我在谷歌上搜索并只找到了已经具有此功能的应用程序 - 但我如何着手创建一个能够捕获电子签名的应用程序......这可能吗?


Xamarin 的组件商店有一个签名板执行此操作的组件。

我也从头开始写过类似的东西 - 这并不是特别困难。代码看起来像这样:

public class DrawView : UIView
    {

        DrawViewController dvc;

        // clear the canvas
        public void Clear ()
        {
            drawPath.Dispose ();
            drawPath = new CGPath ();
            fingerDraw = false;
            SetNeedsDisplay ();

        }

        // pass in a reference to the controller, although I never use it
and could probably remove it
        public DrawView (RectangleF frame, DrawViewController root) :
base(frame)
        {
            dvc = root;
            this.drawPath = new CGPath ();
            this.BackgroundColor = UIColor.White;

        }


        private PointF touchLocation;
        private PointF prevTouchLocation;
        private CGPath drawPath;
        private bool fingerDraw;

        public override void TouchesBegan (MonoTouch.Foundation.NSSet
touches, UIEvent evt)
        {
            base.TouchesBegan (touches, evt);

            UITouch touch = touches.AnyObject as UITouch;
            this.fingerDraw = true;
            this.touchLocation = touch.LocationInView (this);
            this.prevTouchLocation = touch.PreviousLocationInView (this);
            this.SetNeedsDisplay ();

        }

        public override void TouchesMoved (MonoTouch.Foundation.NSSet
touches, UIEvent evt)
        {
            base.TouchesMoved (touches, evt);

            UITouch touch = touches.AnyObject as UITouch;
            this.touchLocation = touch.LocationInView (this);
            this.prevTouchLocation = touch.PreviousLocationInView (this);
            this.SetNeedsDisplay ();
        }

        public UIImage GetDrawingImage ()
        {
            UIImage returnImg = null;

            UIGraphics.BeginImageContext (this.Bounds.Size);

            using (CGContext context = UIGraphics.GetCurrentContext()) {
                context.SetStrokeColor (UIColor.Black.CGColor);
                context.SetLineWidth (5f);
                context.SetLineJoin (CGLineJoin.Round);
                context.SetLineCap (CGLineCap.Round);
                context.AddPath (this.drawPath);
                context.DrawPath (CGPathDrawingMode.Stroke);
                returnImg = UIGraphics.GetImageFromCurrentImageContext ();
            }

            UIGraphics.EndImageContext ();

            return returnImg;
        }


        public override void Draw (RectangleF rect)
        {
            base.Draw (rect);

            if (this.fingerDraw) {
                using (CGContext context = UIGraphics.GetCurrentContext()) {
                    context.SetStrokeColor (UIColor.Black.CGColor);
                    context.SetLineWidth (5f);
                    context.SetLineJoin (CGLineJoin.Round);
                    context.SetLineCap (CGLineCap.Round);
                    this.drawPath.MoveToPoint (this.prevTouchLocation);
                    this.drawPath.AddLineToPoint (this.touchLocation);
                    context.AddPath (this.drawPath);
                    context.DrawPath (CGPathDrawingMode.Stroke);
                }
            }
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为 ios 构建一个具有电子签名功能的应用程序,可能使用单点触控? 的相关文章

  • 如何在ios中以编程方式添加水平间距和垂直间距?

    我在 ios 8 中创建了一个应用程序 因为我有 4 个可垂直使用的标签 它应该在某些条件下更改位置 所以我已禁用自动布局并以编程方式设置约束 现在的问题是 我可以设置水平和垂直位置 宽度和高度的约束 但我找不到任何方法来添加标签之间的水平
  • 如何在 EKRecurrenceRule 中设置一周中某一天的数组?

    我想在用户选择的特定日期每周添加事件 可以是一个或多个 也可以是一整天 我将用户选择的日期值存储在模型类变量中 但是 当我添加事件并选择日期时 假设今天是星期一 我选择星期二和星期三并保存 然后我查看周一和周三添加的 iPhone 日历 我
  • 增加 NSData 的长度

    基本上 我有一个 46 个字符的 NSString 我将其转换为 NSData 我需要将字符串填充到 48 个字符 仅在 NSString 末尾添加 是行不通的 所以 我只是使用以下方法增加了 NSData 的长度 NSString str
  • 如何使用 afnetworking 在后台上传任务

    我正在尝试使用 AFNetworking 上传大文件 并在应用程序处于后台时继续上传 我可以很好地上传文件 但是当我尝试使用后台配置时 应用程序崩溃并显示以下堆栈跟踪 异常 EXC BAD ACCESS 代码 1 地址 0x8000001f
  • 应用程序发布后,对如何更新 UITableView 上的数据源感到困惑

    阅读文档后 我似乎误解了有关数据管理的一些概念 所以我试图澄清一些方面 如果这篇文章听起来多余和重复 请道歉 我的应用程序有多个 TableView 每个表视图都有一个 pList 形式的数据源 因此 我有几个属性列表用作我的表的数据源 目
  • 推送/呈现模态视图控制器

    我的视图控制器中有一个表 我们称之为 TVC1 我使用了 TVC1 中的行 以便用户除了 TVC1 上的数据之外还可以输入更多数据 因此 当有人点击 TVC1 中的特定行时 它将显示另一个视图控制器 我们称之为 TVC2 然而 当显示TVC
  • Parse.com - 获取 [PFUser currentUser] 中包含的指针数据

    我正在使用 Parse com iOS SDK 并且我不知道需要调用什么方法来确保 PFUser currentUser 包含其中包含的每个指针的数据 这可能很简单 但是 作为这个平台的初学者 我找不到解决方案 只是为了澄清一下 我试图在下
  • 在两个数字之间设置 UILabel 文本动画?

    我是 iPhone 和 Mac 编程新手 之前为 Windows 开发过 我有一个问题 我如何制作动画text的财产UILabel两个数字之间 例如从5 to 80以 Ease Out 风格 是否可以与CoreAnimation 我已经在谷
  • 在 viewWillAppear( ) 中获取空值,但在 viewDidLoad( ) 中获取有效值

    When print mess 被称为来自viewDidLoad函数 它打印预期的内容 但是当从viewWillAppear函数 它给出空输出 完成分配后标签也没有更新viewDidLoad 为什么是这样 主视图控制器 if segue i
  • 在 iOS 上的 SceneKit 中导入 3d 模型

    从 URL 导入 obj 文件并将其转换为 SCNNode 时遇到问题 这是代码 swift3 let url URL init string https cloud box com shared static ock9d81kakj91d
  • 是否可以使用 iOS SDK 更改 Amazon Cognito 中的用户名?

    正如标题中所写 是否可以更改 Amazon Cognito 用户的用户名 我在文档中找不到任何内容 可以更新preferred username使用 iOS SDK 的 Cognito 用户 使用updateAttributesAPI 调用
  • UIWebView 未正确加载 JavaScript - 嵌入式 Facebook 帖子

    Facebook 有一项新功能 允许用户将公共帖子嵌入网页中 我想尝试在 UIWebView 内的 iPhone 应用程序中使用它 转义必要的代码非常简单 但即使我手动转义代码 Web 视图也不会正确加载帖子 JavaScript 根本不起
  • 删除部分(红色删除按钮),UITableViewController - iOS

    我正在尝试做一个分组的 uitableview 并且我已经激活了编辑选项 我希望用户也能够删除整个部分 而不仅仅是特定行 因此 当您单击 编辑 时 每个表格单元格左侧显示的红色减号按钮也应该显示在各个部分 部分标题左侧 有人知道如何做到这一
  • 从 AF.Request 响应获取数据

    我需要使用 Alamofire 的 Post 请求调用的 json 响应中的数据 但由于某种原因我无法访问该数据 我尝试按照 Alamofire github 文档以及这篇文章进行操作从 AF 响应 JSON 获取数据 https stac
  • 防止 UITableView 滚动到某个点以下

    如何让 UITableView 允许在某个索引行上方滚动 但在低于某个点时阻止滚动 例如 如果我有第 1 行到第 100 行 其中在给定时间视图中仅出现 5 行 我希望允许用户在第 1 50 行之间滚动 但在第 50 行可见时阻止进一步向下
  • 如何相对于包含视图大小定位子视图?

    我希望能够将我的子视图从顶部定位到超级视图大小的 25 NSLayoutConstraint topPositionConstraint NSLayoutConstraint constraintWithItem containerView
  • ios - 使用 SIGPIPE 和 SIG_IGN 的信号函数

    我加入了一个旧项目 我发现了这条线 BOOL application UIApplication application didFinishLaunchingWithOptions NSDictionary launchOptions si
  • 我正在寻找 GCDAsyncUdpSocket 上的一些示例,但发现没有一个有效

    接收数据从未被调用过 我编写了这个由我的主线调用的 swift 类UI视图控制器向接收消息的服务器发送消息 但当服务器发回响应时 客户端永远不会收到它 因为 didReceiveData 从未被触发 我一直在谷歌上搜索并查看文档 它说客户端
  • iPhone 上的锁定方向 UIWebView

    有没有办法锁定 UIWebView 的方向 使用 Obj C JS 还是 Html 我不想有按钮或任何东西 我只想在应用程序打开时将其锁定为纵向 好像这个堆栈溢出帖子 https stackoverflow com questions 43
  • 将子视图发送到后面

    我正在尝试模仿 facebook ios 侧面菜单并让它工作 但是我遇到的问题是我无法将侧面菜单发送到后面 正如另一个问题中所讨论的那样使用 Objective C 的 iphone facebook 侧边菜单 https stackove

随机推荐

  • 使用基于 sed/awk 的 Linux 中替换字符串

    我想更换这个 usr bin env bash 有了这个 bin bash 我尝试了两种方法 方法一 original str usr bin env bash replace str bin bash sed s original str
  • 在简单的多层 FFNN 中,只有 ReLU 激活函数不收敛

    我正在学习张量流 深度学习并尝试各种激活函数 我为 MNIST 问题创建了一个多层 FFNN 大部分基于tensorflow官方网站的教程 只是添加了3个隐藏层 我实验过的激活函数有 tf sigmoid tf nn tanh tf nn
  • 如何使用 android volley 库将位图图像上传到服务器?

    如何使用 android volley 库将位图图像上传到服务器 我正在尝试使用 android volley 将图像上传到服务器 如果 android volley 中没有这样的选项 您能否建议我使网络操作更快的最佳方法 欢迎您向我发送与
  • DefaultTreeModel 和 Wicket Tree:setAsksAllowsChildren 不起作用

    I m using Wicket s Tree component in a web app But empty folders are shown in a file way Just like this 下面是我使用 DefaultTr
  • 为什么不在中断内使用互斥体

    我已经通过了这个帖子我注意到在克利福德的回答中他说我们不应该在中断中使用互斥体 我知道在中断中我们必须避免太多的指令和延迟分机 但我不太清楚原因有人可以澄清吗我出于什么原因必须避免这种情况 如果我们想要在两个中断驱动线程之间建立同步通信 如
  • Perl if 块中的“-s”有什么作用?

    我有这样的代码块 if s fh more code 我只需要知道 s 是什么意思 s fh检查文件大小 fh so s fh测试文件大小的长度是否为零 或者不存在这样的文件 fh可以是文件名或文件句柄 检查perldoc f X 请注意
  • 将列表中的所有数据框保存到单独的 .csv 文件中

    我有一个数据框列表 我想将其保存到独立的 csv 文件中 目前我为每个数据框都有一个新行 write csv lst df1 C Users df1 write csv lst df2 C Users df2 ad nauseam 显然这并
  • 竹子:如何制作maven神器

    我已经设置了一个 Bamboo 服务器并使用 Maven 构建任务制作了一个测试项目和计划 但这个任务不会产生任何工件 也许除了测试结果 我没有检查过 我希望将所有 Maven 工件附加到构建结果中 就像在 Hudson 中所做的那样 怎么
  • Dataclip 错误 ERROR:无法在只读事务中执行 INSERT [重复]

    这个问题在这里已经有答案了 我想在 Heroku 中插入数据 但我无法执行此操作 因为它的错误是 Dataclip Error ERROR cannot execute INSERT in a read only transaction 赫
  • 如何为每一行将日期时间列增加一秒?

    假设我有这个时间值 09 00 00 我有一个包含 时间 列的表 其中有三个记录 我想用那个时间更新这 3 条记录 但时间值每次增加一秒 对于每条记录 像这样的东西 ColumnA ColumnB 1 09 00 00 2 09 00 01
  • 在 async.series 中调用 async.series 会产生不可预测的输出

    使用 caolan 的 Node js 异步库 我一直在尝试调用一个使用async series在另一个使用 async series 的函数内 但我仍然无法让函数以正确的顺序运行 如下所示 终端输出显示第二个函数在第一个函数之前被调用 没
  • 从广播接收器关闭应用程序

    我是 Android 编程新手 我尝试在活动中注册广播接收器 但当应用程序暂停时我的接收器无法工作 所以我发现我需要在清单中注册我的接收器 我的目标是在用户关闭 Wifi 后关闭我的应用程序一段时间 这是我的代码 但它不起作用 public
  • 使用 Java 5 运行 JAXB 编组异常 javax.xml.stream.FactoryConfigurationError

    我正在 JUnit 测试类中尝试简单的 JAXB 封送处理 并且使用的是 Java 5 运行测试时出现此错误 javax xml stream FactoryConfigurationError 未找到提供程序 com bea xml st
  • 如何将 2 个 wav 文件混合在一起?

    我正在尝试录制输入并将其与歌曲合并在一起 不是连接 我有一把在听歌曲时录制的吉他 我想将吉他放在歌曲中 如 audcaity 有什么办法可以做到吗 如果无法进行实时混音 是否可以在录制后合并它们 就像我录制吉他后 现在它是一个 wav 文件
  • Java Unsafe.copyMemory java.lang.IllegalArgumentException

    我对来自 Unsafe 的 copyMemory 有疑问 我花了2天的时间来解决它 但没有结果 下面提供的代码始终以 IllegalArgumentException 结束 你能帮我看看问题出在哪里吗 public void testMem
  • 将数据从一个模型分成两个后,如何重写我的猫鼬查询?

    在我的应用程序中 我存储评论 以前我的模型是这样的 var CommentsSchema new Schema username type String display name type String facebook username
  • 如何在 PHP 中的 cURL POST HTTP 请求中包含授权标头?

    我正在尝试通过 Gmail OAuth 2 0 访问用户的邮件 并且我正在通过 Google 的 OAuth 2 0 Playground 解决这个问题 在这里 他们指定我需要将其作为 HTTP 请求发送 POST mail feed at
  • 如何使用OpenCV进行人脸识别? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在尝试使用 OpenCV 做一些人脸识别 不是检测 的事情 我发现这篇文章有一些代码 http www cognotics com opencv
  • pandas-python 数据框更新一列

    假设我有一个包含品牌名称的品牌列表 BRANDS Samsung Apple Nike 数据框 A 具有以下结构 row item title brand name 1 Apple 6S Apple 2 Nike BB Shoes na l
  • 为 ios 构建一个具有电子签名功能的应用程序,可能使用单点触控?

    这只是一个简单的问题 因为我在谷歌上搜索并只找到了已经具有此功能的应用程序 但我如何着手创建一个能够捕获电子签名的应用程序 这可能吗 Xamarin 的组件商店有一个签名板执行此操作的组件 我也从头开始写过类似的东西 这并不是特别困难 代码