原创 iOS-關鍵字-nullable nonnull null_resettable _Null_unspecified

一.關鍵字注意點 在NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END這兩個之間的代碼默認是nonnull  關鍵字不能用於基本數據類型(int,float),nil只用於對象 二.怎麼去研究新特性

原创 iOS-QQ黏性佈局

一.storyboard裏面如下:二.自定義BageValueBtn// BageValueBtn.h #import <UIKit/UIKit.h> @interface BageValueBtn : UIButton @end

原创 iOS-音樂震動條效果

一.代碼如下:// ViewController.m #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOut

原创 iOS-拓展-UIDynamic重力行爲+碰撞行爲

一、重力行爲說明:給定重力方向、加速度,讓物體朝着重力方向掉落1.方法(1)UIGravityBehavior的初始化  - (instancetype)initWithItems:(NSArray *)items;    item參數

原创 iOS-拓展-靜態庫

iOS開發拓展篇—靜態庫一、簡單介紹1.什麼是庫?  庫是程序代碼的集合,是共享程序代碼的一種方式 2.庫的分類  根據源代碼的公開情況,庫可以分爲2種類型  (1)開源庫    公開源代碼,能看到具體實現    比如SDWebImage

原创 iOS-UI-應用管理

一.使用MVC1.模型文件如下// MJApp.h #import <Foundation/Foundation.h> /** copy : NSString strong: 一般對象 weak: UI控件 assign:基

原创 iOS-粒子效果

一.storyboard裏面如下:二.自定義VCView// VCView.h #import <UIKit/UIKit.h> @interface VCView : UIView //開始動畫 - (void)start; //

原创 iOS-拓展-UIDynamic簡介

一、簡單介紹1.什麼是UIDynamicUIDynamic是從iOS 7開始引入的一種新技術,隸屬於UIKit框架可以認爲是一種物理引擎,能模擬和仿真現實生活中的物理現象如:重力、彈性碰撞等現象 2.物理引擎的價值廣泛用於遊戲開發,經典成

原创 iOS-加速計 傳感器 藍牙

一.加速計加速計的作用● 用於檢測設備的運動(比如搖晃)加速計的經典應用場景● 搖一搖● 計步器 加速計的原理●檢測設備在X、Y、Z軸上的加速度 (哪個方向有力的作用,哪個方向運動了)●根據加速度數值,就可以判斷出在各個方向上的作用力度 

原创 iOS-圖片摺疊效果

一.storyboard裏面如下圖,並且添加了拖動手勢二.控制器.m代碼如下:// ViewController.m #import "ViewController.h" @interface ViewController () @

原创 iOS-關鍵字-泛型ObjectType 協變__covariant 逆變__contravariant

一.泛型作用    泛型:限制類型     爲什麼要推出泛型?迎合swift     泛型作用:1.限制類型 2.提高代碼規劃,減少溝通成本,一看就知道集合中是什麼東西二.泛型用法:    __covariant:協變, 子類轉父類   

原创 iOS-UI基礎-Xcode的一些使用技巧

一、快捷鍵的使用經常用到的快捷鍵如下:新建shift + cmd + n     新建項目cmd + n             新建文件 視圖option + cmd + 回車 打開助理編輯器cmd + 回車           顯示主

原创 iOS-UI-QQ好友界面實現

一.項目前準備1.pch文件如下// Prefix header // // The contents of this file are implicitly included at the beginning of every so

原创 iOS-轉盤

一.自定義轉盤按鈕// WheelBtn.h #import <UIKit/UIKit.h> @interface WheelBtn : UIButton @end // WheelBtn.m #import "WheelBt

原创 iOS-拓展-UIDynamic捕捉行爲

一、簡介可以讓物體迅速衝到某個位置(捕捉位置),捕捉到位置之後會帶有一定的震動UISnapBehavior的初始化  - (instancetype)initWithItem:(id <UIDynamicItem>)item snapTo