【Swift 2.2】iOS開發筆記(三)

 

 

 

 

  一、UITableView 中調用 UIButton 的 setTitle 會閃swift

    滾動列表時比較明顯,解決辦法: buttonType 改爲 custom 便可,可是這樣一來 UIButton 的高亮效果也沒了,但能夠本身手動配置 State Config 網絡

    2018-02-09 更新,方法二:app

        UIView.performWithoutAnimation {
            self.cancelButton.setTitle(Localized.DIALOG_BUTTON_CANCEL, for: .normal)
            self.cancelButton.layoutIfNeeded()
        }

 

 

  二、監聽 UITextField 文本改變iphone

    func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
        let text = NSString(string: textField.text!).stringByReplacingCharactersInRange(range, withString: string)
    }

     更好的辦法:http://stackoverflow.com/questions/7010547/uitextfield-text-change-eventui

 

  三、模擬較差的網絡spa

    iPhone 設置  >>  Developer  >>  Network Link Conditioner
code

     

  四、若是支持 iOS 9 多任務分屏,在 iPad 上將沒法控橫豎屏相關的設置(shouldAutorotate、supportedInterfaceOrientations 都不會回調)orm

    https://forums.developer.apple.com/message/13508#13508blog

 

  五、UINavigationController 替換當前 UIViewController ip

extension UINavigationController {

    func replaceLastViewController(controller: UIViewController) {
        let stackViewControllers = NSMutableArray(array: self.viewControllers)
        stackViewControllers.removeLastObject()
        stackViewControllers.addObject(controller)
        setViewControllers((stackViewControllers as NSArray) as! [UIViewController], animated: true)
    }

}

    若是先 pushViewController 再 removeFromParentViewController 當前 ViewController 返回的 title 會錯亂

 

  六、自定義靜態 Cell 左右邊距對齊的問題

    直接加約束設置 15 在 iPad 上顯示會有問題,辦法: 在 Storyboard/xib 中設置自定義 Cell 和 contentView 的 Preserve Superview Margins 爲 true,而後設置 label 的 leadingMargin 爲 0 ,注意是要勾選 margin:

    http://stackoverflow.com/questions/27420888/uitableviewcell-with-autolayout-left-margin-different-on-iphone-and-ipad

 

  七、Swift 3.0 判斷泛型類型

    if T.self == Class.self {

           }

相關文章
相關標籤/搜索