在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
前言 边开发边学习,边攒经验,汇总一下记录到这里
声明
1、隐藏/显示密码功能 光设置secureTextEntry还不行,你会发现UITextField在切换到显示密码时会多一个空字符,看着巨别扭,需要在更改secureTextEntry后进行如下设置: let pwd = psdField.text
self.psdField.text = pwd + " " self.psdField.text = pwd
2、获取当前类的名称 String.fromCString(object_getClassName(self))
注意:通过_stdlib_getDemangledTypeName也能取到,但是如果在父类里面去就只能取到父类的名称
3、 国际化 find . \( -name '*.m' -o -name '*.h' \) -print0 | xargs -0 genstrings -o en.lproj 凡是使用了NSLocalizedString的字符串都能被找到,支持子目录查找,注意替换en.lproj
4、UITableView分割线的显示问题 去掉分割线:设置UITableView的separatorStyle = UITableViewCellSeparatorStyle.None 去掉多余的分割线:设置UITableView的tableFooterView = UIView() (要是不设置会很丑,不管有没有数据都会显示分割线) 处理 iOS8 分割线左边距设置为0失效的问题,参考这里(http://stackoverflow.com/questions/25770119/ios-8-uitableview-separator-inset-0-not-working): func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
// Remove seperator inset if cell.respondsToSelector("setSeparatorInset:") { cell.separatorInset = UIEdgeInsetsZero } // Prevent the cell from inheriting the Table View's margin settings if cell.respondsToSelector("setPreservesSuperviewLayoutMargins:") { cell.preservesSuperviewLayoutMargins = false } // Explictly set your cell's layout margins if cell.respondsToSelector("setLayoutMargins:") { cell.layoutMargins = UIEdgeInsetsZero } }
5、 格式化数字输出 K/M extension String {
public func substring(startIndex: Int, endIndex: Int) -> String{ return (self as NSString).substringWithRange(NSRange(location: startIndex, length: endIndex - startIndex)) } } public static func prettyNumber(num: Double) -> String{ if (num < 10000) { return "\(Int(num))"; } else if (num < 100000) { return "\(num / 1000.0)".substring(0, endIndex: 4) + "K" } else if (num < 1000000) { return "\(num / 1000.0)".substring(0, endIndex: 3) + "K" } else if (num < 100000000) { return "\(num / 1000000.0)".substring(0, endIndex: 4) + "M" } else if (num < 1000000000) { return "\(num / 1000000.0)".substring(0, endIndex: 3) + "M" } else if (num < 100000000000) { return "\(num / 1000000000.0)".substring(0, endIndex: 4) + "M" } else if (num < 1000000000000) { return "\(num / 1000000000.0)".substring(0, endIndex: 3) + "M" } return "INF"; }
6、 判断屏幕是否是横屏 public static func isIsLandscape() -> Bool { return UIDeviceOrientationIsLandscape(UIDevice.currentDevice().orientation) || UIApplication.sharedApplication().statusBarOrientation == UIInterfaceOrientation.LandscapeLeft || UIApplication.sharedApplication().statusBarOrientation == UIInterfaceOrientation.LandscapeRight }
7、 URL 编码 text.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet()) 这个 text 的类型是 String ,常用于搜索功能,在 URL 中包含被搜的关键字,如果不处理搜中文或者带空格的英文会直接崩溃
|
请发表评论