UTS iOS插件

server/2024/9/24 21:29:13/

1、使用时插件无法出现,内容显示不出来的原因

  • 再uniapp x中使用时,必须给这个插件高度和宽度,否则出不来!
///uniapp x 中使用
<uts-hello-view buttonText="点击按钮内容" style="width:375px;height: 375px;background-color: aqua;"></uts-hello-view>
  • 在IOS中编写这个插件的内容时候,不能全用self.bounds,有可能出不来啊!!!!需要直接写死frame,或者使用约束;
  • 同时,在didMoveToSuperview中获取view的frame不行,都是0,需要在layoutSubviews方法中获取view的frame才可以
  • 每次添加新的自定义UTS组件后最好重新走一遍自定义基座

2、无法运行

  • 检查是否都已经Podfile文件中版本修改为12
  • 问题:Sandbox: bash(72928) deny(1) file-write-create

方法:build settings->User Script Sandboxing 修改为NO在这里插入图片描述

3、使用第三方库时,不能在.h文件中导入这个内容第三方库 !!!

4、swift 如果类添加了public前缀,那么无法添加协议MAMapViewDelegate,会报错!!!

5、如何在uts插件中调用swift的方法

首先,swift必须是public 或者open修饰,比如 public class NHT_DemoView
但是高德地图又不能用这个修饰,所以将高德地图添加到一个view上,然后将这个view添加到另一个通过
public修饰的类上,通过这个类调用高德地图的api;

UTSswift_27">6、如何在UTS插件中使用swift的闭包

swift:
@objc open var SelectLocationChangeBlock: (([String:Any])->Void)?

UTS插件:

NVLoad() : NHT_DemoView {// -----NHT_AMAPViewlet button = new NHT_DemoView()button.SelectLocationChangeBlock = (res : any) => {this.$emit('fetchgis', res)};return button},

7、 this.$emit传值报错,error: cannot convert value of type ‘String’ to expected argument type ‘[String : Any]?’

因为传值类型不对,可以自己声明一个变量,然后当参数传值

const map1 = new Map<string,any>()map1.set('a', 'alpha');

或者改变响应回调的写法(必须按照你实际的返回内容),

button.SelectLocationChangeBlock = (res : Map<string, any>) => {this.$emit('fetchgis', res)};

iossrcindexswift619_error_contextual_closure_type_Any_Any__Void_expects_2_arguments_but_1_was_used_in_closure_body_59">8、error: uni_modules/nhyt-texs/utssdk/app-ios/src/index.swift:61:9: error: contextual closure type ‘(Any, Any) -> Void’ expects 2 arguments, but 1 was used in closure body

可能是watch中出现的问题
比如监听下面的值
“enableLocation”: {//允许定位
type: Boolean,
default: false
},

watch: {
//这样写对,必须有newValue : boolean, oldVel : boolean,只有newValue会报这个错误
“enableLocation”: {
handler(newValue : boolean, oldVel : boolean) {
// if (!this.isInitLocation && newValue && !this.innerEnableLocation) {
// this.isInitLocation = true
// this.innerEnableLocation = newValue
// this.initLocation()
// }
},
immediate: false
},
}

9、emit

只能全部小写,有大写的不行,比如下面fetchGis就不行,而fetchgis可以
emits: [‘fetchGis’, “locate”, “hhhh”, “fetchgis”],


http://www.ppmy.cn/server/4291.html

相关文章

【智能家居入门2】(MQTT协议、微信小程序、STM32、ONENET云平台)

此篇智能家居入门与前两篇类似&#xff0c;但是是使用MQTT协议接入ONENET云平台&#xff0c;实现微信小程序与下位机的通信&#xff0c;这里相较于使用http协议的那两篇博客&#xff0c;在主程序中添加了独立看门狗防止程序卡死和服务器掉线问题。后续还有使用MQTT协议连接MQTT…

sql优化

文章目录 慢 SQL 产生的原因优化SQL方法优化规则数据库结构和表设计索引查询条件其他选取最适用的字段属性 慢 SQL 产生的原因 缺少合适的索引和索引失效&#xff1a; 如果查询中涉及的列没有相应的索引&#xff0c;数据库可能需要进行全表扫描来查找符合条件的记录&#xff0…

通过命令行构建Django应用程序

假设读者安装好Django开发环境后&#xff08;这个环境搭建很容易&#xff0c;大家可以参看随意一个网文&#xff09;&#xff0c;就可以通过命令行构建Django应用程序了。通过命令行构建Django应用程序的关键&#xff0c;是使用一个Django框架自带的管理工具——django-admin.p…

iOS 控制每个vc横竖屏

此处引用的是ZFPlayer的里面的一个旋转控制类&#xff0c;此处手动感谢一下ZFPlayer的作者&#xff0c;受小弟一拜&#xff0c;感谢大神&#xff01;&#xff01;&#xff01; 一、 思想&#xff1a; 由于横竖屏的最终确定是由最跟控制器决定的&#xff0c;然而一般的APP结构…

阿里云们死磕芯片自研,不想沦为英特尔、英伟达们的“打工仔”

大数据产业创新服务媒体 ——聚焦数据 改变商业 在当今快速发展的数字经济时代&#xff0c;云计算已成为推动各行各业创新和转型的关键力量。作为云计算的核心组件&#xff0c;芯片的作用不言而喻。它不仅是服务器算力的源泉&#xff0c;更是云服务提供商提供高效、可靠服务的…

2024信友队智灵班春季 Test1 总结

4月模考 死亡回放 模考时间线 1:30 比赛开始&#xff0c;读 T1 宇宙爆炸 的题1:50 自己手模了几组样例&#xff0c;得出了一个错误结论&#xff0c;打出了第一版错误代码&#xff0c;然后上交&#xff08; Wrong Answer 20 \color{red}\text{Wrong\ Answer\ 20} Wrong Answer …

设计模式知识总结

单例模式 懒汉式 线程不安全的懒汉单例 class singleton { private:singleton() {}static singleton *p; public:static singleton *instance();void st(); }; singleton *singleton::p nullptr; singleton* singleton::instance() {if (p nullptr)p new singleton();re…

Vue3 Vite配置环境变量

Vue3 Vite配置环境变量 相关文档配置.env文件vite.config.jspackage.json 使用 相关文档 Vite 官方中文文档&#xff1a;https://cn.vitejs.dev/环境变量和模式&#xff1a;https://cn.vitejs.dev/guide/env-and-mode.html#env-file在配置中使用环境变量&#xff1a;https://c…