swift
白鼠闹东京
这个作者很懒,什么都没留下…
展开
-
UITableViewCell的选中时的颜色设置
转自:http://blog.csdn.net/a6472953/article/details/75322121.系统默认的颜色设置//无色cell.selectionStyle = UITableViewCellSelectionStyleNone;//蓝色cell.selectionStyle = UITableViewCellSelectionStyleBlue;//灰色cell.s转载 2017-04-06 16:50:33 · 820 阅读 · 0 评论 -
Swift开发中的常用开源项目连接
我自己常用的一些开源项目 项目名称 备注 连接 Alamofire 网络请求 https://github.com/Alamofire/Alamofire SwiftyJSON JSON格式化 https://github.com/SwiftyJSON/SwiftyJSON MBProgressHUD 提示(OC) https://github.com/原创 2017-03-01 10:27:23 · 555 阅读 · 0 评论 -
开源 Swift AutoLayout 框架 SnapKit 介绍
转自:http://www.cnblogs.com/missingcat92/p/4686248.html?utm_source=tuicool&utm_medium=referral自从水果发布了5代,苹果为了适配多种屏幕尺寸,搞出了一个所谓的AutoLayout来解决问题,iOS程序员们从此走上了苦逼的适配路。“适配”本身其实并不是一个头疼的事情,对于4-6寸的手机来说,只要制定一套规则,就不转载 2017-02-09 11:11:39 · 1011 阅读 · 0 评论 -
UILabel使用attributedText后,lineBreakMode为ByTruncatingTail不生效
开发环境:Swift 2.3问题代码:let lb = UILabel(frame:frame)lb.numberOfLines = 2lb.lineBreakMode = .ByTruncatingTaillb.attributedText = ....如果不用lb.attributedText, 而使用text的话,没任何问题。NSMutableParagraphStyle中有设置lb.原创 2017-02-17 17:40:01 · 3472 阅读 · 0 评论 -
IOS开发之 一起用Swift来玩一玩3D Touch
Swift 2.3 IOS 8.0 XCode 8.0添加入口标签在这里只说下静态的好了,暂时还用不到动态的,e.g.<key>UIApplicationShortcutItems</key><array> <dict> <key>UIApplicationShortcutItemType</key> <string>ReceiveMoney</s原创 2017-02-07 14:45:51 · 2087 阅读 · 0 评论 -
使用SQLite.Swift实现SQLite3.0的读写
开发环境: Swift2.3 , IOS8.0+ ,XCode8.2导入SQLite.swiftsource 'https://github.com/CocoaPods/Specs.git'platform :ios, '8.0'use_frameworks!target 'sql' do pod 'SQLite.swift', '~> 0.10.1'end应用实例// Sear原创 2016-12-31 21:15:22 · 2727 阅读 · 2 评论 -
拖动tableView时收起键盘
转自:http://www.jianshu.com/p/721abbcc82dd只有一行代码:tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag其中keyboardDismissMode是UIScrollView的属性, 它的值除了UIScrollViewKeyboardDismissModeNone, 还转载 2016-12-30 21:31:04 · 2051 阅读 · 0 评论 -
IOS开发之读取使用AutoLayout约束的控件Frame
开发环境 Swift2.3 XCode8.2因为开发一个插件,需要动态的读取ScrollView的frame,但是,读取出来的数值一直是在storyboard中的大小(storyboard设计时的大小),因为设计的时候基于Iphone6s,宽度为375,所以,插件里读取的一直都是375,但是Iphone7Plus的实际宽度是414。而scrollView实际是添加了宽度约束等于superView的原创 2017-01-07 12:38:18 · 1929 阅读 · 0 评论 -
Swift 3.0 变更小结
转自:http://www.jianshu.com/p/4820aa9a2625Apple 官网 Swift 3.0 版本变更文档新增访问符关键字: open, fileprivateApple 官网解释 open: 公开访问接口, 类和成员变量是可以被模块内外 override public: 公开访问接口, 但是只能在模块内被 override internal: 只在模块中访问 fi转载 2016-12-30 09:34:02 · 604 阅读 · 0 评论 -
使用SnapKit约束label、scrollview和tableview
Snapkit:https://github.com/SnapKit/SnapKit一、约束UILabel这个其实本来是很简单的,被自己搞的复杂了,当设置UILabel的时候frame:CGRect.zero就可以了,另外行数设置为:0,一定一定不要设置固定高度 /(ㄒoㄒ)/~~,frame里不要,约束里也不要,可以设置大于等于。let lb = UILabel(frame: CGRect.ze原创 2017-03-08 14:37:20 · 4702 阅读 · 0 评论 -
UITextField的那点事
转自:http://sindrilin.com/ios-dev/2016/09/23/UITextField的那点事UITextField 被用作项目中获取用户信息的重要控件,但是在实际应用中存在的不少的坑:修改 keyboardType 来限制键盘的类型,却难以限制第三方键盘的输入类型;在代理中限制了输入长度以及输入的文本类型,但是却抵不住中文输入的联想;键盘弹起时遮住输入框,需要接收键盘弹起收转载 2017-03-19 11:18:53 · 384 阅读 · 0 评论 -
Swift3.0扫描条形码和二维码实例
Swift 3.0 Xcode 8.0 分离的代码,不能直接运行import UIKitimport AVFoundationclass SaomaViewController: UIViewController, AVCaptureMetadataOutputObjectsDelegate { // 扫描相关字段 var avSession:AVCaptureSession!原创 2017-03-06 14:50:02 · 1067 阅读 · 1 评论 -
UITableView删除某一行
self.tableView.beginUpdates()self.list.remove(at: indexpath.row)self.tableView.deleteRows(at: [indexpath], with: .bottom)self.tableView.endUpdates()原创 2017-04-11 17:14:49 · 3124 阅读 · 0 评论 -
UITableView的侧移编辑功能,可多个
extension viewController: UITableViewDelegate { func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool { return true } func tableView(_ tableView: UITabl原创 2017-04-11 16:25:13 · 655 阅读 · 0 评论 -
Swift常用的String类扩展
常用的扩展// 字符串类扩展extension String { /// 获取字符串绘制的高度 /// /// - parameter font : 要绘制的字体,将会影响行高等 /// - parameter width : 绘制的宽度 /// - returns : 字符串绘制的最大高度 func getMaxHeight原创 2017-03-15 22:56:56 · 1448 阅读 · 0 评论 -
SnapKit更新约束-Swift3.0
导入SnapKitimport SnapKit修改约束var snpCenterX: Constraint?var snpCenterY: Constraint?/// 偏移量,默认 0var offset:CGPoint = .zero { didSet { snpCenterX?.update(offset: offset.x) snpCenterY?原创 2017-03-14 13:57:33 · 2540 阅读 · 0 评论 -
通过cell中的元素获取cell的indexPath以及长按tableview获取选中cell的indexPath
Swift 3.0 XCode 8.0通过点击cell中的按钮获取cell的indexPath如,点击cell中的按钮,删除获取修改等操作。// 注意层次关系let cell = btn.superview as! UITableViewCell// 通过cell本身获取cell的indexPathlet indexpath = self.tv.indexPath(for: cell)长按t原创 2017-03-13 22:19:06 · 3405 阅读 · 0 评论 -
初探CALayer属性
转自:http://www.cocoachina.com/ios/20161205/18278.html一直觉得一个view就一个layer到今天才发现不是这样子的其关系图如下CALayer属性表如下CALayer和UIView的区别1.UIView是UIKit的(只能iOS使用),CALayer是QuartzCore的(iOS和mac os通用)2.UIView继承UIResponder,CAL转载 2017-03-22 11:54:32 · 249 阅读 · 0 评论 -
Swift3.0对UIColor进行方法扩展
Swift 3.0 XCode 8.0总是感觉IOS里面颜色的调用好麻烦,每次都要转成10进制,稍微封装一下。后面用起来方便多了/// 获取颜色的方法extension UIColor { /** 获取颜色,通过16进制色值字符串,e.g. #ff0000, ff0000 - parameter hexString : 16进制字符串 - paramete原创 2017-03-11 13:03:31 · 3541 阅读 · 0 评论 -
Swift压缩图片以及修改图片颜色
extension UIImage { func scaleToSize(size:CGSize) -> UIImage { UIGraphicsBeginImageContextWithOptions(size, false, 0) self.draw(in: CGRect(x: 0, y: 0, width: size.width, height: siz原创 2017-03-28 09:10:43 · 1335 阅读 · 0 评论 -
Swift3.0带来的变化汇总系列一——字符串与基本运算符中的变化
原文链接:http://my.oschina.net/u/2340880/blog/692818一、引言Apple与今年6月13日正式发布了Swift3.0的第一个预览版本,并且相应推出了Xcode8的第一个bate版本。开发者已经可以在Xcode8bate版上来体验Swift3.0的新特性。首先,Swift3.0确实带来了很大改变,许多Swift中的结构体API都进行了更新,例如String,A转载 2016-12-30 09:23:39 · 371 阅读 · 0 评论 -
IOS开发之Swift生成二维码
开发环境:Swift2.3 XCode8.0本来是借鉴了别人的代码,时间太久了,无法找到原文。记录下来,以后用起来方便func createQRForString(qrString:String, qrImageNamed:String? = nil) -> UIImage { // 将字符串转换为二进制 let data = qrString.dataUsingEncoding(原创 2017-01-06 15:24:06 · 993 阅读 · 0 评论 -
Swift 2.3 迁移 Swift 3.0 遇到困难和部分解决方案
警告:Expression of type ‘UIViewController?’ is unused// 赋值给_,否则会报Expression of type 'UIViewController?' is unused_ = self.navigationController?.popViewController(animated: true)isKindOfClass没有了// 2.3vi原创 2016-12-27 16:56:00 · 999 阅读 · 0 评论 -
IOS学习-使用Alamofire和UICollectionView完成列表展示
直接代码吧import UIKitimport Alamofireimport SwiftyJSONclass ViewController: UIViewController,UICollectionViewDataSource, UICollectionViewDelegate { @IBOutlet weak var cv: UICollectionView! // 列表的数原创 2016-09-19 22:04:30 · 405 阅读 · 0 评论 -
基于Swift语言开发微信、QQ跟微博的SSO授权登录代码分析
转自:http://www.myexception.cn/swift/1991018.html前言Swift 语言,怎么说呢,有一种先接受后排斥,又欢迎的感觉,纵观国外大牛开源框架或项目演示,Swift几乎占据了多半,而国内虽然出现很多相关技术介绍和教程,但是在真正项目开发中使用的占据很少部分,原因一是目前熟练它的开发者并不多,二是版本不太稳定,还需要更成熟可靠的版本支持,但总之未来还是很有前景的转载 2016-10-08 22:06:37 · 1084 阅读 · 0 评论 -
No such module alamofire
像往常一样到github上,clone了一份到电脑上,然后加入到项目中。 今天,很特别的出现了“No such module alamofire”,搜了一下,解决方案五花八门,都没有解决问题。 最后在stack overflow里找到了一个类似的答案 http://stackoverflow.com/questions/32996438/alamofire-no-such-module-er原创 2016-09-19 15:46:11 · 6551 阅读 · 0 评论 -
Swift修改tabBarItem选中色和tabBar背景色
tabBarItem系统默认为蓝色,这里提供一个方法,能够将颜色修改为自己希望的 1)为自己的Tab Bar Controller添加一个控制器 XXTabBarController,关联起来(我使用的StoryBoard做的页面) 2)设置选中色: 在XXTabBarController中,viewDidLoad() 方法下写上self.tabBar.translucent = false转载 2016-09-12 13:10:00 · 4240 阅读 · 0 评论 -
IOS开发-使用Alamofire 和 SwiftyJSON 完成服务器api的调用
准备工作,下载开源类:Alamofire 地址SwiftyJSON 地址引用到项目将下载的文件拖到项目当中,将Alamofire.xcodeproj文件拖到项目中,Embedded Binaries中添加Alamofire.framework IOS,这样,这个类就已经引入到项目当中了。网上操作步骤很多的,就不上图了。代码import Alamofireimport SwiftyJSON//原创 2016-09-12 10:56:56 · 1663 阅读 · 0 评论 -
Swift开发教程--如何设置状态栏的文字颜色
第一步:在Info.plist中设置UIViewControllerBasedStatusBarAppearance 为NO 第二步:在viewDidLoad中加一句UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent这样就可以把默认的黑色改为白色。 转自:http://blog.csd转载 2016-09-12 09:53:43 · 1392 阅读 · 0 评论 -
IOS学习笔记-UITableView绑定数据实例
首先创建model,新建一个文件存放model类import UIKitclass testModel: NSObject { var Title:String init(title:String){ self.Title = title }}在controller中的class外,声明一个变量var list:[testModel] = []为list增原创 2016-07-19 13:21:24 · 2232 阅读 · 0 评论 -
IOS学习笔记-获取当前的地理位置swift版
第一步Info.plist中添加一项 NSLocationAlwaysUsageDescription 类型为 Boolean 值为 true第二步点击项目,选择 Build Phases 选项卡,如下图:在 Build Phases 选项卡中 如下图操作引入 CoreLocation.framework 框架第三步以下代码实现:import UIKitimport CoreLocationcla原创 2016-07-27 14:53:40 · 2791 阅读 · 1 评论 -
tableView 的 didSelectRowAtIndexPath 第二次点击bug问题
使用tableView的选中,当从下级页面返回后,选中状态仍然存在,导致了再次点击后,出现闪屏,不跳转等情况。解决方案:选中后,取消当前行的选中状态代码如下:func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { //TODO 要处理的代码 //取消选中状态原创 2016-10-09 10:21:13 · 2855 阅读 · 0 评论 -
IOS学习-collectionView的自适应宽度和高度,固定列数
首先,如果不是继承UICollectionViewController的话,需要继承UICollectionViewDelegateFlowLayout协议然后后面需要实现协议:// 这个是CELL的宽度和高度,可以通过计算func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICo原创 2016-09-20 14:50:25 · 15501 阅读 · 4 评论 -
IOS使用高德地图获取当前位置信息
如何引用及权限的配置:http://blog.csdn.net/sbt0198/article/details/52728922在配置完成的前提下,获取当前的位置以及逆编码信息:import UIKitclass ViewController: UIViewController { var locationManager:AMapLocationManager! override fu原创 2016-10-03 22:17:55 · 9128 阅读 · 0 评论 -
Swift与Js通过WebView交互
开发环境:Swfit 2.3 XCode 8.2基础概念JSContext, JSContext是代表JS的执行环境,通过-evaluateScript:方法就可以执行一JS代码JSValue, JSValue封装了JS与ObjC中的对应的类型,以及调用JS的API等JSExport, JSExport是一个协议,遵守此协议,就可以定义我们自己的协议,在协议中声明的API都会在JS中暴露出来原创 2017-01-04 09:45:16 · 8643 阅读 · 2 评论 -
IOS 使用XIB制作Storyboard使用的自定义控件
开发环境:IOS8.0+ Swift 2.3创建一个UIView 遗憾的是Also create XIB file是灰色的。没办法,只能分开创建了 新建文件,选择User Interface中的View然后命名为CustomTest。 在CustomTest.Xib中的File’s Owner的属性面板的Customer class选择CustomTest, 记住是File’s Ow原创 2016-12-18 16:10:53 · 3073 阅读 · 0 评论 -
IOS中使用UITableViewCell的按钮事件
开发环境:IOS8.0+ Swift 2.3创建UITableViewCell 记得要选择:Also create XIB file填写Identifier 填写Identifier,这个会在后面用到完成XIB的布局和约束连线创建按钮点击的协议protocol CouponTableViewCellDelegate { func couponBtnClick(couponID:Int原创 2016-12-18 15:02:21 · 3407 阅读 · 3 评论 -
Swift使用代码进行约束
版本为Swift2.3let imgCoupon = UIImageView()imgCoupon.frame = CGRectMake(0, 0, 16, 16)imgCoupon.loadImgByNamed("coupon")imgCoupon.tag = 12345cell.addSubview(imgCoupon)imgCoupon.translatesAutoresizing原创 2016-12-14 16:01:23 · 2397 阅读 · 0 评论 -
Swift中可选类型隐式解包判断空会报错
前面一直没注意,如果需要使用隐式解包,要确保 使用前会赋值var a:Int!//这里会报错的,使用!声明的可选类型为隐式解包,当a == nil时会自动解包if a == nil { //TODO: Some code}后果是严重的 fatal error: unexpectedly found nil while unwrapping an Optional value原创 2016-12-07 14:41:59 · 1052 阅读 · 0 评论 -
XCode8新建项目中使用swift2.3
在XCode8中的新建项目,默认的版本为Swift3.0,如果要使用2.3的话,需要使用兼容模式Build Settings -> Swift Compiler - Version -> Use Legacy Swift Language Version 然后设置其为 YES,然后你就可以使用 Swift 2.3 了。原创 2016-11-23 20:19:01 · 2216 阅读 · 0 评论