更新时间:2023-05-22 06:38:30下载pdf
设备控制 UI 业务包 本质是提供一个视图控制器来加载 RN(React-Native)渲染的界面,所以该视图控制器内部将导航栏进行了相关的隐藏处理,主要是改变了透明度。
因此在使用 push 方式进入面板控制器之后,pop 回自身控制器时,需要将样式还原。主要原因是,iOS 提供的 push 和 pop 动画是使用 NavigationController
来管理的,其中使用的 NavigationBar
是唯一的。在 NavigationController
的 Stack
存储结构下,每当 Stack
中的 ViewController
修改了导航栏,势必会影响其他 ViewController
展示的效果)。
建议采用以下两种样式进行还原:
方式一:
// 1. 导入头文件
#import <TYNavigationController/TYNavigationTopBarProtocol.h>
// 2. 显示导航栏
self.ty_topBarHidden = NO;
self.ty_topBarAlpha = 1.0;
// 3. 还原导航栏样式(例如:修改背景色)
self.ty_topBarBackgroundImage = <#Image#>;
// Or
self.ty_topBarBackgroundColor = <#Color#>;
方式二:
// 1. 导入头文件
#import <TYNavigationController/TYNavigationCallbackProtocol.h>
// 2. 实现 TYNavigationCallbackProtocol 提供的代理方法
- (void)ty_naviTransitioning:(id<UIViewControllerTransitionCoordinatorContext>)context {
// 3. 显示导航栏
[self.navigationController setNavigationBarHidden:false animated:true];
// 4. 还原导航栏样式(例如:修改背景色)
[self.navigationController.navigationBar setBarTintColor:<#Color#>];
// Or
[self.navigationController.navigationBar setBackgroundImage:<#Image#> forBarMetrics:UIBarMetricsDefault];
}
pod update
报错?在使用 Cocoapods 为工程集成业务包时,由于 pod 的逻辑,Podfile 中没有指明每个 Pod 库的版本时,默认会集成最新的正式版本号,格式为 x.y.z
,其中 x、y、z 均为数字。
若需要依赖 设备控制 UI 业务包 的扩展功能时,即需要依赖相关插件,由于插件的版本号属于预发布版本(pre-release),因此,需要在 Podfile 中指明设备控制 UI 业务包的所在基线的最新日期标明的版本号。查看业务包版本号,请参考 版本记录。
在调用进入 设备详情 UI 业务包 的接口前,请确认已提前查询过设备信息,即成功调用过 智能生活 App SDK 中的以下方法:
/**
* After init home, need to get home details
* 初始化 home 对象之后需要获取家庭的详情,homeModel,roomList,deviceList,groupList 才有数据
*
* @param success Success block
* @param failure Failure block
*/
- (void)getHomeDetailWithSuccess:(void (^)(TuyaSmartHomeModel *homeModel))success
failure:(TYFailureError)failure;
若后续仍然出现该提示,有以下四种可能:
deviceModel.pv
小于 TUYA_CURRENT_GW_PROTOCOL_VERSION
deviceModel.lpv
小于 TUYA_CURRENT_LAN_PROTOCOL_VERSION
deviceModel.rnFind
为 false
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈