pujiaxin33 / JXSegmentedView

A powerful and easy to use segmented view (segmentedcontrol, pagingview, pagerview, pagecontrol, categoryview) (腾讯新闻、今日头条、QQ音乐、网易云音乐、京东、爱奇艺、腾讯视频、淘宝、天猫、简书、微博等所有主流APP分类切换滚动视图)
MIT License
2.66k stars 369 forks source link

使用Xcode的Debug View Hierarchy查看视图层级时有Optimization Opportunities警告 #210

Closed viihua closed 1 week ago

viihua commented 2 years ago

image image 初步判断是JXSegmentedTitleCell中的maskTitleLabel导致的,没有使用到遮罩Title. image

viihua commented 2 years ago

@pujiaxin33 大牛看看有没有什么问题。 自己研究了下,认为不破坏原有代码结构的话 就在第141行的maskTitleLabel.isHidden = true 后面加 maskTitleLabel.layer.mask = nil,如果是使用pod的话就用我以下的文本放入Podfile,前面那个有点小问题,一个空格都不能少哦,字符串查找替换的:

post_install do |installer| find_and_replace("Pods/JXSegmentedView/Sources/Title/JXSegmentedTitleCell.swift", " maskTitleLabel.isHidden = true\n titleLabel.layer.mask = nil"," maskTitleLabel.isHidden = true\n maskTitleLabel.layer.mask = nil\n titleLabel.layer.mask = nil") end

注入代码到指定文件

def find_and_replace(dir, findstr, replacestr) Dir[dir].each do |name| FileUtils.chmod("+w", name) #add text = File.read(name) replace = text.gsub(findstr,replacestr) if text != replace puts "Fix: " + name File.open(name, "w") { |file| file.puts replace } STDOUT.flush end end Dir[dir + '*/'].each(&method(:find_and_replace)) end

pujiaxin33 commented 1 week ago

已修复