We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
主题:iOS13适配专辑 出品人:GitHub@ChenYilong
请对以下【iOS13】标签的问题均为 iOS13 新特性已经引入的新适配问题,发表你的看法,内容不限,必须包括需要适配的解读以及方案,引用的文章需要给出参考链接,必须给出自己的见解:
1 【问题】【iOS13】SwiftUI
2 【问题】【iOS13】iPadOS app for macOS
3 【问题】【iOS13】LBS:Location authority
4 【问题】【iOS13】faster app launch、smaller app updates
5 【问题】【iOS13】Sign in with Apple
6 【问题】【iOS13】iPadOS
7 【问题】【iOS13】Reactive Programming in iOS13
8 【问题】【iOS13】Independent apps on Apple Watch
9 【问题】【iOS13】Dark Mode
10【问题】【iOS13】AR
12【问题】【iOS13】新系统 KVC crash 风险
13【问题】【iOS13】模态界面默认交互改变
14【问题】【iOS13】App Delegate --> Scene Delegate
15【问题】【iOS】【hybrid】针对 RN 开发人员不熟悉native开发的情况下,会出现很多操作,比如绘制一个3000px的cell,cell重用符号滥用,在scrollView上强行拼view而不用tableView,等等,针对这些情况,你作为一个native的开发,怎么避免或者及时预警?
【难度】🌟🌟🌟🌟 【出题人】 大灰灰-平安-iOS-上海
16【问题】【iOS13】SF Symbols in iOS 13
17【问题】嵌套进native的 web 页面,如何展示用户相册图片?
【难度】🌟🌟🌟 【出题人】 颜-物灵-iOS
//one more thing
18【问题】【iOS13】remove 3D touch
19【问题】【iOS13】CryptoKit
20【问题】【iOS】【hybrid】WKWebView 加载本地文件如何做兼容?
【难度】🌟🌟 【出题人】PlutoY-广州YY
21【问题】【iOS】【hybrid】调用 js 绘图库的情况下,调用 js 绘图通过以下方式调用会出现什么情况, 该怎么解决
- (void)webViewDidFinishLoad:(UIWebView *)webView { // 调用 js 绘图 }
// 或者
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation { // 调用 js 绘图 }
【难度】🌟🌟 【出题人】 PlutoY-广州YY
22【问题】【iOS】【Android】【hybrid】如何用 js 创建一个原生的 Label 居中显示到某个 ViewController/ activity 上,可以通过 JS 修改 Label 的 text 属性,iOS版本代码如下:
js
Label
ViewController
activity
JS
var label = new Label(); label.text("Lefe_x"); // view 为 App 当前显示的 ViewController 的 view,通过 js 获取。 label.addToSuperView(view);
【难度】🌟🌟🌟 【出题人】 百度阅读-Lefe_x
23【问题】【iOS13】NotificationCenter
24【问题】【iOS13】Network
25 【问题】【iOS】 setNeedsLayout 和 layoutIfNeeded 调用后,系统布局执行刷新的时机是怎么样的? 如果两个方法同时调用会有什么效果与问题?
setNeedsLayout
layoutIfNeeded
[self setNeedsLayout]; [self layoutIfNeeded];
【提示】请问各位大佬,团队里写代码随意,很多地方都调用了setNeedsLayout,触发了界面刷新,能不能像前端那样弄个虚拟dom减少频繁刷新对性能的影响?" 看到有些人代码每次setModel都要setneedslayout一下 不知道为啥
【答案】
iTeaTime(技术清谈)@SAGESSE-深圳-某不知名小作坊:
如果同时使用就是强制重新布局。
调用setNeedsLayout是为了减少layoutSubviews的执行次数,如果set一次就修改布局一次,很浪费性能, 所以系统提供了setNeedsLayout 来标记这个区域是否需要重新布局,在下一周期时会调用layoutIfNeeded方法,当检测到标记时调用layoutSubviews进行重新布局。
layoutSubviews
一般主动调用layoutIfNeeded提前布局是在需要获取位置或者生成动画才需要,所以建议延迟布局。
Q:还有没有像虚拟dom那样计算真正变化 的ui的?
A:系统的layoutSubviews本身就是在计算有没有真正变化
Q:但是里面全部UI都在里面计算了。相同的计算会导致UI刷新么。
A:系统的不会,随非你手动调用setframe/setcenter/setbounds。
Q:像在layoutsubviews里面很多这样写`self.contentView.frame = CGRectMake(25, (SCREENHEIGHT - 280) / 2, SCREENWIDTH - 50, 280); 即使每次相同都会导致刷新吧
A:的确会导致页面刷新, 所以建议检查一下值是否发生了变化再set 比如:
CGRect nframe = ...; if (!CGRectIsEqual(self.contentView.frame, nframe)) { self.contentView.frame = nframe; }
Q:强行这样判断导致开发效率降低了
A:是很麻烦,但系统己经提供了一套很好的解决方案,自动布局autoresizingMask和约束。它们只在需要的时候才会进行布局。
如果只是setneedlayouts self.view不影响subview的
26 【问题】【iOS】如何借助Xcode搜索所有在block内部的self 单词,借此来排查内存泄漏?
self
【提示】用instrument工具检测内存泄漏不是更方便吗? 检查不出,很难才出现一两次。但是确实存在,就是不知在哪个地方。几天测试才出现两次。所以才有这个挫招扫描。 【答案】
\^(\s*\(.*\)\s*)?\{(.|\n)*?\bself\b[^}]*\}
可能会有误匹配,因为xcode居然不支持平衡组,不然,不可能有误匹配。
一般国际化需要这种方式搜字符串替换。
参考链接:
Posted by Posted by 微博@iOS程序犭袁 & 公众号@iTeaTime技术清谈 原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0
One more thing...
【非礼勿视】以下为彩蛋部分,建议28岁以上男性观看
The text was updated successfully, but these errors were encountered:
【iOS】如何借助Xcode搜索所有在block内部的self 单词,借此来排查内存泄漏? Masonry的也同时 校验出来的。
Sorry, something went wrong.
No branches or pull requests
iTeaTime(技术清谈)【-006期】【代号:西部世界】
主题:iOS13适配专辑
出品人:GitHub@ChenYilong
请对以下【iOS13】标签的问题均为 iOS13 新特性已经引入的新适配问题,发表你的看法,内容不限,必须包括需要适配的解读以及方案,引用的文章需要给出参考链接,必须给出自己的见解:
1 【问题】【iOS13】SwiftUI
2 【问题】【iOS13】iPadOS app for macOS
3 【问题】【iOS13】LBS:Location authority
4 【问题】【iOS13】faster app launch、smaller app updates
5 【问题】【iOS13】Sign in with Apple
6 【问题】【iOS13】iPadOS
7 【问题】【iOS13】Reactive Programming in iOS13
8 【问题】【iOS13】Independent apps on Apple Watch
9 【问题】【iOS13】Dark Mode
10【问题】【iOS13】AR
12【问题】【iOS13】新系统 KVC crash 风险
13【问题】【iOS13】模态界面默认交互改变
14【问题】【iOS13】App Delegate --> Scene Delegate
15【问题】【iOS】【hybrid】针对 RN 开发人员不熟悉native开发的情况下,会出现很多操作,比如绘制一个3000px的cell,cell重用符号滥用,在scrollView上强行拼view而不用tableView,等等,针对这些情况,你作为一个native的开发,怎么避免或者及时预警?
【难度】🌟🌟🌟🌟
【出题人】 大灰灰-平安-iOS-上海
16【问题】【iOS13】SF Symbols in iOS 13
17【问题】嵌套进native的 web 页面,如何展示用户相册图片?
【难度】🌟🌟🌟
【出题人】 颜-物灵-iOS
//one more thing
18【问题】【iOS13】remove 3D touch
19【问题】【iOS13】CryptoKit
20【问题】【iOS】【hybrid】WKWebView 加载本地文件如何做兼容?
【难度】🌟🌟
【出题人】PlutoY-广州YY
21【问题】【iOS】【hybrid】调用 js 绘图库的情况下,调用 js 绘图通过以下方式调用会出现什么情况, 该怎么解决
// 或者
【难度】🌟🌟
【出题人】 PlutoY-广州YY
22【问题】【iOS】【Android】【hybrid】如何用
js
创建一个原生的Label
居中显示到某个ViewController
/activity
上,可以通过JS
修改Label
的 text 属性,iOS版本代码如下:【难度】🌟🌟🌟
【出题人】 百度阅读-Lefe_x
23【问题】【iOS13】NotificationCenter
24【问题】【iOS13】Network
25 【问题】【iOS】
setNeedsLayout
和layoutIfNeeded
调用后,系统布局执行刷新的时机是怎么样的? 如果两个方法同时调用会有什么效果与问题?【提示】请问各位大佬,团队里写代码随意,很多地方都调用了setNeedsLayout,触发了界面刷新,能不能像前端那样弄个虚拟dom减少频繁刷新对性能的影响?"
看到有些人代码每次setModel都要setneedslayout一下 不知道为啥
【答案】
iTeaTime(技术清谈)@SAGESSE-深圳-某不知名小作坊:
如果同时使用就是强制重新布局。
调用
setNeedsLayout
是为了减少layoutSubviews
的执行次数,如果set一次就修改布局一次,很浪费性能, 所以系统提供了setNeedsLayout
来标记这个区域是否需要重新布局,在下一周期时会调用layoutIfNeeded
方法,当检测到标记时调用layoutSubviews
进行重新布局。一般主动调用
layoutIfNeeded
提前布局是在需要获取位置或者生成动画才需要,所以建议延迟布局。Q:还有没有像虚拟dom那样计算真正变化 的ui的?
A:系统的
layoutSubviews
本身就是在计算有没有真正变化Q:但是里面全部UI都在里面计算了。相同的计算会导致UI刷新么。
A:系统的不会,随非你手动调用setframe/setcenter/setbounds。
Q:像在layoutsubviews里面很多这样写`self.contentView.frame = CGRectMake(25, (SCREENHEIGHT - 280) / 2, SCREENWIDTH - 50, 280); 即使每次相同都会导致刷新吧
A:的确会导致页面刷新, 所以建议检查一下值是否发生了变化再set 比如:
Q:强行这样判断导致开发效率降低了
A:是很麻烦,但系统己经提供了一套很好的解决方案,自动布局autoresizingMask和约束。它们只在需要的时候才会进行布局。
如果只是setneedlayouts self.view不影响subview的
26 【问题】【iOS】如何借助Xcode搜索所有在block内部的
self
单词,借此来排查内存泄漏?【提示】用instrument工具检测内存泄漏不是更方便吗?
检查不出,很难才出现一两次。但是确实存在,就是不知在哪个地方。几天测试才出现两次。所以才有这个挫招扫描。
【答案】
iTeaTime(技术清谈)@SAGESSE-深圳-某不知名小作坊:
\^(\s*\(.*\)\s*)?\{(.|\n)*?\bself\b[^}]*\}
可能会有误匹配,因为xcode居然不支持平衡组,不然,不可能有误匹配。
一般国际化需要这种方式搜字符串替换。
参考链接:
链接:https://juejin.im/post/5d00c430f265da1b8466de01
链接:https://juejin.im/post/5d2587da6fb9a07ed524c774
Posted by Posted by 微博@iOS程序犭袁 & 公众号@iTeaTime技术清谈
原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0
One more thing...
【非礼勿视】以下为彩蛋部分,建议28岁以上男性观看
//one more thing
The text was updated successfully, but these errors were encountered: