swift
__zhangheng
这个作者很懒,什么都没留下…
展开
-
OC和Swift混编
一、OC项目里面使用Swift文件1、在OC项目里面添加一个swift类创建一个swift类,Language选择swift,点击next,这是Xcode会提示如下图所示:pic-1.png这是因为Swift和OC进行混编的时候需要一个中间的桥接文件,桥接文件中需要导入OC类的头文件。如果你点击“Create Bridging Heade转载 2017-04-23 17:40:54 · 388 阅读 · 0 评论 -
为uiview设置单边边框
原生的 UIKit 并没有提供设置单边边框(border)的功能,view.layer.borderColor和view.layer.borderWidth 会把上下左右的边框一起设置。所以想设置单边只能自己来实现了。画border线的思路很简单,其实就是画一条直线,把这条直线添加到 view的边缘即可。画直线的方法也有几种,有使用 UIKit 的 UIBezierPath实现的,有使用Core ...转载 2018-04-28 16:32:30 · 5588 阅读 · 0 评论 -
UIButton实现左边文字,右边图片
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];[btn setImage:[UIImage imageNamed:@"image"] forState:UIControlStateNormal];[btn setTitle:@"title" forState:UIControlStateNormal];[btn se...转载 2018-04-27 17:34:37 · 14782 阅读 · 0 评论 -
iOS开发 | swift中自动布局框架SnapKit的使用
OC有masonry,swift有SnapKit。熟悉masonry的同学上手SnapKit非常快,因为语法很像。这里记录一下常用的几个方法:先创建一个红色view:1234let redView = UIView()self.view.addSubview(redView) redView.backgroundColor = UIColor.red创建约束123456// 创建约...转载 2018-05-05 11:09:14 · 459 阅读 · 0 评论 -
[Swift]原生第三方接入: QQ篇--集成/登录/分享
文章涉及的demo在Github LQThirdParty, 欢迎Star | Fork关于第三方登录/分享的接入, 很多时候使用的是友盟或者ShareSDK; 但并不是每次都想使用这些第三方的服务的, 这里作者整理了微信, QQ, 新浪微博原生第三方的接入:[Swift]原生第三方接入: 微信篇--集成/登录/分享/支付[Swift]原生第三方接入: QQ篇--集成/登录/分享[Swift]原生...转载 2018-04-26 14:16:18 · 2760 阅读 · 2 评论 -
swift地图定位(十一)MapKit初使用
// // ViewController.swift // 1114-mapkit // // Created by targetcloud on 2016/11/14. // Copyright © 2016年 targetcloud. All rights reserved. // import UIKit import MapKit class ViewCo...转载 2018-04-26 14:14:05 · 740 阅读 · 0 评论 -
iOS Swift : 簡易定位
使用apple內建的MapKit,做一個移動紀錄loction首先要先加入CoreLocation的Framework,提供地理位置、經緯度、海拔等xcode導入Framework : CoreLocation & MapKit加入protocol : CLLocationManagerDelegate & MKMapViewDelegateimport UIKitimport ...转载 2018-04-26 14:12:39 · 290 阅读 · 0 评论 -
swift 之使用系统的地图
引入头文件:importMapKitimportCoreLocation添加代理CLLocationManagerDelegate===========定位(一次定位、持续定位、使用期间定位、后台定位)======= funcmapLocation(){ locationManager=CLLocationManager.init() //在使用期间发定位请求...原创 2018-04-26 14:09:05 · 1031 阅读 · 0 评论 -
Swift - 获取、设置MKMapView的地图缩放级别(zoomlevel)
使用 MapKit 框架提供的 MKMapView,我们可以很方便地在应用中显示地图。MKMapView 使用也十分简单,只需设置好显示区域(中心点坐标,以及范围),地图就会自动缩放到合适的级别并显示。具体用法可以参考我之前写的这篇文章:Swift - 使用MapKit显示地图,并在地图上做标记 但有时我们想要得到地图当前的缩放级别(ZoomLevel)、或者想直接设置地图的缩放级别...转载 2018-04-26 14:08:03 · 4317 阅读 · 2 评论 -
swift. iOS中圆角阴影
iOS中圆角实现非常容易,对比而言,设置阴影则需要设置颜色,偏移位置,阴影透明度,阴影半径:<pre><code>` /* The color of the shadow. Defaults to opaque black. Colors created* from patterns are currently NOT supported. Animatable. *...转载 2018-04-28 17:10:13 · 580 阅读 · 0 评论 -
swfit 验证码倒计时实现
class TCCountDown { private var countdownTimer: Timer? var codeBtn = UIButton() private var remainingSeconds: Int = 0 { willSet { co...转载 2018-05-14 16:34:54 · 347 阅读 · 0 评论 -
【iOS】xib实现动态高度的UITextView
最终效果要求:Platform: iOS8.0+ Language: Swift3.1 Editor: Xcode8.3+实现:xib布局InputView.xib核心代码原理:当文本输入改变时,计算出当前输入文本的行数,再相应计算出view对应的高度height,然后回调到父vc中更新当前view的高度约束。1.获取输入文本的rect fil...转载 2019-05-08 10:33:46 · 892 阅读 · 0 评论 -
OC - Swift 混编详细介绍
总体思路:建一个pch文件用于引入 工程名-swift.h,实现OC访问swift 建一个桥接文件用于引入 OC头文件,实现swift访问OC1. 创建一个Swift或者是OC的工程(这里以OC工程为例,操作其实都一样)创建工程2. 创建一个Swift类(只会在第一次创建的时候提示你)当你点击 NEXT 时就会出现下图,会提示你是否创建一个桥接头文件,点击 Cre...原创 2019-05-05 11:06:37 · 424 阅读 · 0 评论 -
Swift Image 的处理
extension UIImage {/*限制图片大小*/func resize(width:CGFloat, height:CGFloat) -> UIImage { let myImageSize = CGSizeMake(width, height) UIGraphicsBeginImageContextWithOptions(myImageSize, false,...原创 2019-04-24 11:01:24 · 2415 阅读 · 1 评论 -
iOS Runtime详解
Runtime的特性主要是消息(方法)传递,如果消息(方法)在对象中找不到,就进行转发,具体怎么实现的呢。我们从下面几个方面探寻Runtime的实现机制。Runtime介绍 Runtime消息传递 Runtime消息转发 Runtime应用Runtime介绍Objective-C 扩展了 C 语言,并加入了面向对象特性和 Smalltalk 式的消息传递机制。而这个扩展的核心...转载 2019-04-22 17:48:10 · 112 阅读 · 0 评论 -
Swift使用pod导入的三方指定swift版本
目前最新swift是4.1,但是pod导入的三方可能是3.3版本,此时使用pod导入三方可在podfile里配置以下内容# Swift 版本声明post_install do |installer| installer.pods_project.targets.each do |target| if ['对应三方1', '对应三方2'].include? targe...转载 2019-04-21 15:24:16 · 890 阅读 · 0 评论 -
iOS开发常用三方库集合OC版(三方库、插件、博客等等)
Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17AboutA curated list of iOS objective-C ecosystem.注意事项:由于简书文章字数限制,大部分内容请移步Github查阅How to UseSimply presscommand+F+"xxx@"to search for a keyword...转载 2019-04-20 19:35:38 · 1262 阅读 · 0 评论 -
iOS常用第三方集合(六)
代码安全与密码ios-class-guard- 一个用于混淆iOS的类名、方法名以及变量名的开源库--有人反映编译出来的app运行不了。《Protecting iOS Applications》:文章系统地介绍了如何保护iOS程序的代码安全,防止反汇编分析。fishhook- fishhook是Facebook开源的一个可以hook系统方法的工具。GesturePassword- 一个iOS手...转载 2019-04-20 19:34:53 · 6611 阅读 · 0 评论 -
iOS开发最常用三方库集合Swift版(三方库、插件、博客等等)
Swift学习资料@SwiftGuide很赞 的Swift学习资料leetcode一个练习、评估自己水平的代码平台,跟ACM有点类似完整App@Swift 30 Projects- 最新 Swift 3.0 的30个小App,更注重代码规范和架构设计(故胤道长)V2ex-Swift- 用 Swift 写的 V2EX 客户端。iBBS-Swift- “新手开源一个用Swift...转载 2019-04-20 19:32:49 · 2731 阅读 · 0 评论 -
swift 使用MapKit显示地图,并在地图上做标记
通过使用 MapKit 可以将地图嵌入到视图中,MapKit 框架除了可以显示地图,还支持在地图上做标记。1,通过mapType属性,可以设置地图的显示类型MKMapType.standard :标准地图MKMapType.satellite :卫星地图MKMapType.hybrid :混合地图2,地图显示范围的设置MKCoordinateSpan 对象设置地图范围,其中包含两个成员 latit...转载 2018-04-26 14:07:20 · 2306 阅读 · 0 评论 -
swift - 字符串操作(替换、过滤、去掉空格、分割、拼接、字符串截取)
let s = " / 2 3 4 ? / " // 替换 print("空格替换成-:", s.replacingOccurrences(of: " ", with: "-")) // 过滤 print("空格过滤掉:", s.replacingOccurrences(of: " ", with: "")) // 去首尾转载 2018-04-26 14:00:48 · 22503 阅读 · 0 评论 -
Swift:必须添加init?(coder decoder: NSCoder)的原因
当我们重写类的时候经常提示要添加代码: required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") }123这个叫必要初始化器,这种情况一般会出现在继承了遵守NSCoding protocol的类,比如UIView系列的类、UIViewContro...转载 2018-04-11 10:37:29 · 4581 阅读 · 0 评论 -
每周 Swift 社区问答:@objc
用法在 Swift 代码中,使用@objc修饰后的类型,可以直接供 Objective-C 调用。可以使用@objc修饰的类型包括:未嵌套的类协议非泛型枚举(仅限于原始值为整形的类型)类和协议中的属性和方法构造器和析构器下标我们逐个来看看实际的使用:类@objc class MyHelper:NSObject { // class code}Objective-C 中所有的类都需要继承自NS...转载 2018-04-11 10:30:30 · 162 阅读 · 0 评论 -
微信 报错{“errcode“:41002,“errmsg“:“appid missing hint: [JwuG70489e575]“}
errcode":41002,解决:41002是微信没有收到正确的appid,所以,你需要检测下url!//https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code let url = String(...原创 2018-04-10 16:33:19 · 51358 阅读 · 1 评论 -
iOS微信登录集成
前言:微信登录集成可以参考微信开放平台移动应用接入指南与微信github开源Demo,介绍的都很详细。本文简单介绍一下集成过程,及需要注意的地方(在最后哦)。微信开放平台:http://open.weixin.qq.com微信开放平台github地址:http://github.com/Tencent/WeDemo微信github开源项目一、准备工作1.在微信·开放平台申请微信开放平台微信登录Ap...转载 2018-04-10 16:23:46 · 1431 阅读 · 0 评论 -
适配ios9出现的问题:-canOpenURL: failed for URL
问适配ios9出现的问题:-canOpenURL: failed for URLiOS9 URL Schemes 除了要在项目info URL Types中设置URL Schemes,还需要在info.plist里面增加可信任的调用app,否则回报如下错误-canOpenURL: failed for URL: "weixin://app/wx9c8771d3c07dfd30/" - er...转载 2018-04-10 13:29:36 · 1045 阅读 · 0 评论 -
Swift 延迟执行dispatch_after
OC dispatch_after__weak typeof(self) weakSelf = self;dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ __strong typeof(self) pThis ...转载 2018-03-31 09:36:04 · 10778 阅读 · 0 评论 -
swift开发一些小总结
1.计算字符串放进label中的高度 let size = CGSize(width:WIDTH-20, height:0) let dic = NSDictionary(object:UIFont.systemFont(ofSize:14), forKey: NSFontAttributeNameasNSCopying) let strSize = videoBody.summary?.boun...转载 2018-03-20 20:26:47 · 162 阅读 · 0 评论 -
swift 使用AFNetWorking 进行网络请求
1. pod 'AFNetworking', '~> 3.1.0'2.创建网络请求工具 继承于NSObjectimport AFNetworkingenum FMResult { case FMData case FMJSON case FMXML}enum FMRequestStyle { case FMRequestJSON case FMRequestSt...转载 2018-03-20 20:24:54 · 990 阅读 · 0 评论 -
init?(coder aDecoder: NSCoder)
Mast call a designated initializer of the superclass ‘required’ initializer ‘init(coder:)’ must be provided by subclass of如果你要用 Swift创建一个实现了 NSCoding协议的类(UIView,UIViewController)的子类的时候,你就会发现一种很尴尬的情况,r...转载 2018-04-11 10:57:49 · 729 阅读 · 0 评论 -
handyJson Xcode 9.3 崩溃问题 解决方案
var nominalTypeDescriptor: NominalTypeDescriptor? { let pointer = UnsafePointer<Int>(self.pointer) let base = pointer.advanced(by: nominalTypeDescriptorOffsetLocation) i...转载 2018-04-17 09:58:36 · 386 阅读 · 0 评论 -
iOS开发 | swift中自动布局框架SnapKit的使用
OC有masonry,swift有SnapKit。熟悉masonry的同学上手SnapKit非常快,因为语法很像。这里记录一下常用的几个方法:先创建一个红色view:1234let redView = UIView()self.view.addSubview(redView) redView.backgroundColor = UIColor.red创建约束123456// 创建约...转载 2018-05-03 19:49:53 · 1922 阅读 · 0 评论 -
swift基础篇之Label自适应高度
Label的使用 let jianLabel=UILabel() jianLabel.frame=CGRect(x:jianTitleLabel.frame.maxX+10,y:10,width:0,height:0) self.view.addSubview(jianLabel) jianLabel.text="text" jianLabel.textColor=UIColor.whi...转载 2018-05-02 16:15:08 · 2627 阅读 · 0 评论 -
Objective-C中的字符串格式化输出
Objective-C中的字符串格式化输出uint64的格式化请用%lluint64的格式化请用%lld以下内容转载自:http://www.cocoachina.com/macdev/objc/2010/0430/1289.html在使用诸如NSLog, [NSString stringWit...转载 2018-04-19 21:41:24 · 1313 阅读 · 0 评论 -
在字符串中 快速查找
最近更新:28th 十二月, 2016很多时候,我们需要在字符串中执行查找,以判断过滤指定的内容出来。比如过在落格输入法当中,就需要用辅码过滤出需要的候选词。一般来说,查找和对比肯定是数字来的最快,不过在词库上总不能把所有的词汇都转换为数字(虽然理论上可行……)在字符串的搜索上,我们有很多种办法来实现,这里我就说一下我自己的思路:Set<String>由于我的词库辅码筛选只对两字或者三...转载 2018-04-17 10:31:38 · 2632 阅读 · 0 评论 -
Swift3-字符串String.Index和Range详解
在Swift字符串的检索中,有时候返回的可能是一个范围,而不是一个具体的位置.下面看一下String.Index和 Range String.Index:表示在字符的CharacterView实例的位置,进入头文件就可以看到,其实是public typealias Index = String.CharacterView.Index。Range:一个半开半闭的可比较范围,从下界(lower bou...转载 2018-04-17 10:31:06 · 5226 阅读 · 0 评论 -
swift中字符串截取方法(substring)
下面介绍2种swift的字符串截取方法,实际上用到了substringFromIndex,substringToIndex,substringWithRange1.将String转化为NSString再截取,代码如下: var s="1234567890"var ns1=(s as NSString).substringFromIndex(5)var ns2=(s as NSString)....转载 2018-04-17 10:30:32 · 9434 阅读 · 0 评论 -
Swift/Storyboard 界面跳转/传值
跳转Push时的Controller为 UIViewControllerPresent时的Controller为 UINavigationController使用 Storyboard Segue 方式:在Storyboard中设置Segue的Identifier,以及Kind然后使用代码:performSegue(withIdentifier: "LoginToMain", sender: ni...转载 2018-04-17 10:28:56 · 3181 阅读 · 0 评论 -
xcode will continue when iPhone is finished iPhone is busy:Processing symbol files
Xcode will continue when iPhone is finished.出现如下图窗口弹出界面原因有三个:第一首次手机连接 Xcode第二更新手机系统后,首次手机连接Xcode第三更新了Xcode后,首次连接手机Snip20170606_2.png解决方案:只能 等。连接好手机,慢慢等。过一会就可以啦。作者:呆呆羞链接:https://www.jianshu.com/p/0e21...转载 2018-04-17 09:59:17 · 9011 阅读 · 0 评论 -
Swift - 文本输入框内容改变时响应,并获取最新内容
1,问题描述有时我们开发的时候需要先把“确认”按钮初始设置为不可用,当文本框中输入文字以后,再将输入按钮变为可用。 2,实现原理(1)要检测文本框内容的变化,我们需要让新界面的Controller遵循一个文本协议UITextFieldDelegate。同时在viewDidLoad方法内将文本框的代理设置为当前实例。然后实现textFil...转载 2019-05-08 11:10:03 · 1828 阅读 · 0 评论