原创 圖文混排 FTCoreText

一、圖文混排的概念 ● 在view上顯示的數據既包括文本數據,也包括圖片數據。 ● 圖片的大小可以不同,圖片和文字的排列順序不固定。 ● 文本數據的字體、顏色、背景等其他屬性可以不同。 ● 文本數據中還可以包含超鏈接。可以點擊超

原创 多線程之NSThread的使用

多線程之NSThread的使用 1.NSThread創建方式一 //開啓了一個子線程,主線程繼續執行,子線程也繼續執行 //這種方式創建無法取得當前的線程對象`這裏寫代碼片` [NSThread detachNewTh

原创 IOS之四種數據持久化方式

一、首先來說一下五種數據持久化方式的優缺點: 1. 屬性列表     :   簡單易用,但是隻能適用於小數據量  2. 對象歸檔     :   對數據進行加密,自定義對象歸檔,保存的方式是序列化,只能適用於小數據量 3. NSUserD

原创 autoresizingMask

本文主要介紹autoresizingMask屬性,對UIVIew進行相對的佈局。 假設如下的需求: 程序啓動後,構建一個自定義的TabBar,始終顯示在應用的底部,無論屏幕發生旋轉,或者收到來電的情況下,都顯示在應用的底部。(看起來,

原创 Quartz 2D繪圖基本用法

1.獲取上下文 2.設置路徑(畫的形狀) 3.將路徑添加到上下文 4.設置上下文屬性(畫筆的粗細、顏色、陰影等) 5.繪製路徑 6.釋放路徑(某些情況) //1.取得上下文(畫布) CGContextRef co

原创 多線程之GCD(Grand Central Dispatch)

GCD是純C語言,但又溶有面向對象思想、基於Block。 1、GCD優點: 易用:GCD比thread更簡單易用,基於Block的特性導致它能極爲簡單的在不同代碼作用域之間傳遞上下文。 效率:GCD在很多地方比之專門創建消耗資源的線程

原创 揭開MVC,MVP,MVVM,VIPER這幾種模式的神祕面紗

iOS Architecture Patterns Demystifying MVC, MVP, MVVM and VIPER Feeling weird while doing MVC in iOS? Have doubts about

原创 自定義標籤工具欄 Tabbar

簡單介紹一下在三級控制器中標籤控制器的自定義標籤工具欄。 AppDelegate.m - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptio

原创 多線程

今天給大家介紹一下多線程的基本概念 1.進程的基本概念 每一個進程都是一個應用程序,都有獨立的內存空間,一般來說一個應用程序存在一個進程,但也有多個進程的情況。 2.多線程的基本概念 每一個程序都有一個主線程,程序啓動時創

原创 Block的用法

1、Block的應用場景 對象與對象之間的通信方式。 2、 Block用法及和Delegate的區別: Block:只有一個閉包,只能實現單一功能, 用Block能做到的大部分情況下代理都可以實現 Delega

原创 類目:nextResponder

#import "UIView+ViewController.h" @implementation UIView (ViewController) - (UIViewController *)viewController {

原创 IOS之觸摸與手勢

一、觸摸事件的處理方式 1.在IOS上,事件有多種形式:觸摸事件,運動事件,遠程控制事件。 2.觸摸事件的處理方法 響應者類通過複寫以下方法,可以監聽觸摸事件 (1)當一個或者多個手指觸摸屏幕時: - (void)tou

原创 圖片拉伸

我們在導航欄或者標籤欄上設置背景圖片時會遇到圖片的尺寸不夠大,在這裏介紹幾個關於圖片拉伸問題的解決辦法 1、打開圖片,手動更改她的像素大小。 2、contentMode UIImageView *imgView = [[UIImag

原创 Quartz 2D 實例:Watermark

UIImage+Watermark.h #import <UIKit/UIKit.h> @interface UIImage (Watermark) - (UIImage *)watermarkImageWithText:(NSStr

原创 多線程之NSOperationQueue(線程隊列)

NSOperationQueue的使用 OperationQueue 相比 GCD的優勢: 1.可以設置依賴關係 2.隊列可以暫停 3.可以取消隊列中的操作 NSOpertionQueue NSOperation Queu