王颜华的博客

不善清谈,行胜于言。

WatchOS 输入(语音、手写、emoji、选择文本)

前言

hihi,勇敢的小伙伴们大家好,好久不见,前段时间我去医院看病顺便拔了两颗智齿,可以说是痛不欲生了,打了一个星期的吊瓶勉强复活,又吃了接近半个月的药续命,到现在还没好利索,哎,我没有吓唬你们的意思,拔智齿这种事真的因人而异、因医生而异,请大家一定要慎重,不然可能工作都做不了了,看在我满50%血复活的份儿上怒来分享一波儿最近学习的新技术,娃哈哈,有点意思~

Demo地址:watchOS语音输入

【小插曲】解决Xcode显示This app could not be installed at this time.问题方法如下:

Reset the simulator:
Hardware -> Erase All content and settings...
Clean your project:
shift+cmd+K
shift+opt+cmd+K
This should fix your issue

正文

做watch开发有很多东西和iPhone不一样,这个输入就是其中一个很有意思的功能!

我学习了,跟大家也分享一下,如果有理解错误的地方,请多多指教!多谢!

首先我们需要模拟一个类似输入框的样式,可以参考watch上message应用的界面设计。

点击create message弹出下图界面(我切换了个日语输入法就这样了。。。)

こんにちは(你好)

はい、なんでしょう?(怎么了)

今、向かつて(在路上)

英文版的界面:


我们如何做出这样的界面,看起来不复杂但是感觉有难度对不对?

记住!那只是看起来哦~ 其实苹(ba)果(ba)已经封装好给大家直接用就可以啦!

先把我做好的给大家看一下~


点击Create Message就进入如下三种界面(最后一种是多了动画emoji):

代码很简单如下:

NSArray *array = @[@"こんにちは", @"はい、なんでしょう?", @"今、向かつて"];
    [self presentTextInputControllerWithSuggestions:array allowedInputMode:WKTextInputModeAllowEmoji completion:^(NSArray * _Nullable results) {
        if (results && results.count != 0) {
            [self.label setText:results.firstObject];
        } else {
            NSLog(@"ERROR");
        }
        
    }];

以上三种界面对应的InputMode分别是:

WKTextInputModePlain

WKTextInputModeAllowEmoji

WKTextInputModeAllowAnimatedEmoji


以上这些很实用了,还有个功能没实现,未完待续~

有问题请留言或者在主页添加颜华微信联系颜华,工作繁忙,回复慢请见谅~


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012265444/article/details/80695419
文章标签: WatchOS 输入
个人分类: WatchOS
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭