Swift編碼總結2
阿新 • • 發佈:2018-04-26
方法 ide present evaluate 可用 分布 pear cin put
1.swift如何隱藏在 iPad 上的 quicktype 鍵盤工具欄?
let item = textField.inputAssistantItem item.leadingBarButtonGroups = [UIBarButtonItemGroup]() item.trailingBarButtonGroups = [UIBarButtonItemGroup]() textField.autocorrectionType = .no
2.dismiss當前控制器跳轉:
@IBAction func customMoneyClick(_ sender: Any) { self.dismiss(animated:true) { self.delegate?.gotoCustomMoney() } }
3.自定義跳轉控制器:
init(withType type: LoginOrRegisterType) { loginOrRegisterType = type super.init(nibNam.e: nil, bundle: nil) modalPresentationStyle = .custom }
4.正則判斷:
fileprivate func isValideRegisterName(_ registerName: String) -> Bool { let parttenPrefix= "^[a-zA-Z\\u4e00-\\u9fa5]{1}.*" // 首字母不能是數字 let parttenValideChar = "^[a-zA-Z0-9\\u4e00-\\u9fa5_]+$" // 非法字符 只允許字母、漢字、數字、下劃線 let parttenLength = "^[a-zA-Z0-9\\u4e00-\\u9fa5_]{2,16}$" // 長度 2 - 16 var predicate = NSPredicate(format: "SELF MATCHES %@", parttenPrefix)if !predicate.evaluate(with: registerName) { HUDManager.showAutoDismissFailedMessage(GLOBAL_LANGUAGE("昵稱首字母只能為字母或漢字!")) return false } }
5.CollectionView實現最低垂直間隔:
let layout = UICollectionViewFlowLayout() layout.minimumLineSpacing = 3.0 layout.minimumInteritemSpacing = CGFloat.leastNormalMagnitude
6.button.isExclusiveTouch = true
ExclusiveTouch的作用是:可以達到同一界面上多個控件接受事件時的排他性,從而避免bug。也就是說避免在一個界面上同時點擊多個UIButton導致同時響應多個方法。
用這個來控制UIButton 的ExclusiveTouch屬性,這樣需要在每個控制器都要設置。可用一句話來代替這樣的設置,在AppDelegate啟動應用時添加 [[UIButton appearance] setExclusiveTouch:YES];
7.Kingfisher設置圖片:
backgroundImageView.kf.setImage(with: URL(string: imageUrlStr), placeholder: UIImage(named:"qianrenqianwei"), options: [.transition(ImageTransition.fade(1)), .keepCurrentImageWhileLoading])
8.super.init()方法寫前寫後的區別:
先寫是先走父類的初始化方法,放在後面,會把子類的覆蓋,最好寫在前面。
9.UIStackView代碼使用:
let stackView: UIStackView = { let view = UIStackView(frame: CGRect.zero) view.axis = .horizontal // 子視圖的布局方向 view.alignment = .center // 子視圖的對齊方式 view.distribution = .fillEqually // 子視圖的分布比例(大小) 每個子視圖的高度或寬度保持一致。 return view }()
10.isEmpty函數:
// 使用字符串字面量創建空字符串 var stringA = "" if stringA.isEmpty { print( "stringA 是空的" ) } else { print( "stringA 不是空的" ) } // 實例化 String 類來創建空字符串 let stringB = String() if stringB.isEmpty { print( "stringB 是空的" ) } else { print( "stringB 不是空的" ) } 輸出: stringA 是空的 stringB 是空的
Swift編碼總結2