美文网首页
iOS的一些小技巧

iOS的一些小技巧

作者: saiGo | 来源:发表于2016-06-23 12:19 被阅读88次

    1.如何打开真机的沙盒文件?
    首先将项目的info.plist文件添加一项"Application supports iTunes file sharing" 设置为BOOL "YES",然后就可以使用pp助手查看并打开这个app的沙盒文件了。

    2.如何播放iOS系统自带的音频?
    导入AudioToolbox,在需要播放提示音的地方写上

    AudioServicesPlaySystemSound(1307) // 括号中的参数为系统声音的id
    AudioServicesPlayAlertSound(1307) //使用这个方法播放如果手机是静音状态则会换成震动
    

    iOS音频ID对照表 http://www.cocoachina.com/bbs/read.php?tid=134344

    3.UICollectionView的复用问题导致UI混乱如何处理?
    重写UICollectionViewCell的 prepareForReuse方法(PS: 记得调用super的prepareForReuse),在该方法中对cell进行修改覆盖系统的重用

    4.如何解决UIPangesture手势滑动边界判断问题(滑动过快导致判断失效)?
    判断的时候用 velocityInView(手势的速度)

    1. 关于-ObjC / -all_load / -force_load的问题
      某些框架需要在Xcode的buildSetting的Other Linker Flags中添加-ObjC,但是一旦添加-ObjC,另外一些框架又因为重复引用问题导致编译报错(具体原因其他博客已经有讲明),此时就需要用-force_load指定哪些框架需要链接,设置方法为
    D1006C75-7CAA-41CC-B3B8-D693C41380E6.png
    #注意:如果是 xxx.framework的动态库,路径最后为 xxx.framework/xxx
    

    6.改变状态栏的颜色
    在plist文件里添加 View controller-based status bar appearance一行设置为Bool值NO,这样代码设置状态栏的颜色才会有效。

    7.swift3.0 String转utf8编码

    extension String {
        func utf8encodedString() ->String {
            var arr = [UInt8]()
            arr += self.utf8
            return String(bytes: arr,encoding: String.Encoding.utf8)!
        }
    }
    

    8.导航栏全透明设置

    self.navigationController?.navigationBar.translucent = true 
    self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default) // 设置导航栏背景图片
    self.navigationController?.navigationBar.shadowImage = UIImage()// 设置导航栏阴影图片 
    

    9.swift3.0重写setFrame

    //重写frame  
        override var frame:CGRect{  
            didSet {  
                  
                var newFrame = frame  
                newFrame.origin.x += 10/2  
                newFrame.size.width -= 10  
                newFrame.origin.y += 10  
                newFrame.size.height -= 10  
                super.frame = newFrame  
            }  
        }
    

    10 . swift使用KVO需要在监听的属性前面加上关键字dynamic,让其动态化

    11 . 取消按钮高亮状态

    OC的写法 :
    - (void)setHighlighted:(BOOL)highlighted {
     
    }
    
    swift的写法
    override var highlighted: Bool {
            set{
                
            }
            get {
                return false
            }
        }
    

    12.打开wifi设置界面(iOS10以上也可)

            let url = URL(string: "App-Prefs:root=WIFI")
            if UIApplication.shared.canOpenURL(url!){
                UIApplication.shared.openURL(url!)
            }
    
    

    不定期更新

    相关文章

      网友评论

          本文标题:iOS的一些小技巧

          本文链接:https://www.haomeiwen.com/subject/pzqilttx.html