iOS开发学习笔记

 

https://cocoapods.org/ 

 

pod引入Alamfire出错,动态库use_frameworks!问题

http://www.jianshu.com/p/8c9722c29155

http://blog.csdn.net/remote_roamer/article/details/47835347

http://www.cnblogs.com/ouyangfang/p/4173544.html

 

iOS开发常用输入校验

http://www.cnblogs.com/daguo/archive/2012/11/28/2792378.html

 

不更新cocoapods总数

-no-repo-update

https://lvwenhan.com/

Alamofire网络库基础教程:使用 Alamofire 轻松实现 Swift 网络请求

http://www.cocoachina.com/ios/20141202/10390.html

在项目应用开发中,我们常遇到这样的情况:要么限制系统仅支持竖屏(PorTrait),要么仅支持横屏(Landscape)。具体的设置方法为:
1)在系统Surpporting Files文件夹下,点击info.plist文件;
2)选择Supported interface orientation(支持界面方向),默认的下面会有四个选项

    Portrait(bottom home button)  //竖屏home键盘在底端
    Portrait(top home button)      //竖屏home键盘在顶端端

    Landscape(left home button)  //横屏,home键在左侧
   Landscape(right home button)//横屏,home键在右侧
用户可以按照自己的要求,进行删除或添加等设置即可。

控制器和视图绑定,两种关系:

1、IBOutlet视图控件与控制器建立入口联系

2、IBAction视图控件与控制器建立联系,响应用户事件

解决view里面多个textfield失去焦点键盘不隐藏的问题

1、在代码里面IBOutlet引用user、pass、mail

2.1、viewdidload方法里面使用代码方式,指定相关TextField的delegate变量

user.delegate=self

pass.delegate=self

2.2或者在storyboard中选择文本框(圆圈箭头)属性delegate拖动到(黄色的圆圈)viewcontroller建立关联

3、类实现uitextfielddelegate

4、实现方法textfieldshouldreturn方法

textField.resignFirstResponder()

return true

pod指定版本号

一个简单的podfile:
pod 'AFNetworking', '~> 1.0' 版本号可以是1.0,可以是1.1,1.9,但必须小于2
-个更简单的podfile:
pod 'AFNetworking', '1.0' // 版本号指定为1.0
一个更更简单的podfile:
pod 'AFNetworking',  // 不指定版本号,任何版本都可以
        //        去掉表格下面没有文字的行,viewdidload()
        self.tableView.tableFooterView = UIView()

一、 安装cocoapods

1、配置ruby源,先删掉原有的

$gem sources --remove https://rubygems.org/

前往--实用工具--终端

2、新增淘宝为实时镜像源

$gem sources -a http://ruby.taobao.org/

3、查看当前源验证

$gem sources -l

4、安装cocoapods

$sudo gem install cocoapods

 二、为项目配置cocoapods组件

1、搜索融云UI组件是否存在

pod search RongCloudIMKit

2、为项目新建pod配置文件

2.1在工程根目录新建文件-other--Empty

2.2命名为Podfile

2.3在文件中写入

pod 'RongCloudIMKit'

3、关闭项目

4、切换到“终端”目录为项目根目录(tab键补全)

ls查看当前目录文件

cd desktop进入目录

5、安装融云

pod install

或者

pod install --verbose --no-repo-update

 三、使用pod配置完的项目

用cloudimtest.xcworkspace打开

四、桥接objective c到swift语法

1、在姓名的黄色文件夹上新建objective-c file

2、命名为BridgeHeader,提示桥接选择是

3、导入第三方文件

#import <RongIMKit/RongIMKit.h>

引用框架中的用尖括号

引用文件夹中的用单引号

 五、appdelegate.swift总代理器连接代码

连接的位置在代码启动后

didFinishLaunchingWithOptions

//获取保存的token
let eviceTokenCache=NSUserDefaults.standarduserDefaults().objectForkey("KDeviceToken") as ? String

//初始化
RCIM.sharedRCIM().initWithAppkey

//用token测试连接
RCIM.sharedRCIM().connectWithToken
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        
        //查询保存的token
        let deviceTokenCache = NSUserDefaults.standardUserDefaults().objectForKey("KDeviceToken") as? String
        
        //初始化appkey
        RCIM.sharedRCIM().initWithAppKey("k51hidwq1b3lb")
        
        //用token测试连接
        RCIM.sharedRCIM().connectWithToken("GcXQNuYjbjHQwgKS97cDMqhqLWUaIG6yQ78O2eK/eyF/vVx/ooMTz2W8IIt7yRD4wRot7KA0ncHc2++ChkdJIw==", success: { (_) -> Void in
            print("连接成功")
            }, error: { (_) -> Void in
                print("连接错误")
            }) { () -> Void in
                print("连接异常")
        }

 控制tabbar在专场到其他页面隐藏,返回后在显示

    override func viewWillAppear(animated: Bool) {
        self.tabBarController?.tabBar.hidden = false
    }
    
    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        // Get the new view controller using segue.destinationViewController.
        // Pass the selected object to the new view controller.
        self.tabBarController?.tabBar.hidden = true
    }
    

 第三方库

MJRefresh上拉加载更多,下列刷新列表

ProgressHUD进程提示控件

Kingfisher SDWebImage的Swift 实现版

猜你喜欢

转载自baijinshan.iteye.com/blog/2259340