Time of Update: 2017-01-18
做iOS的朋友都知道或聽說runtime,這個東西很像java的反射機制,但功能遠勝於java的反射。通過runtime我們可以動態向一個類中添加屬性、成員變數、方法,以及對其進行讀寫訪問。一、runtime簡介RunTime簡稱運行時。OC就是運行時機制,也就是在運行時候
Time of Update: 2017-01-18
本文使用代碼建立button分5個步驟,分別是:1、定義一個按鈕,根據定義位置不同可定義為局部變數或者全域變數;2、初始化按鈕,一般使用一個矩形初始化;3、設定按鈕控制項的其他屬性,如背景圖片,或者背景顏色,或者按鈕顯示文字等屬性;4、添加響應事件並編寫響應事件的函數內容;5、把建立好的控制項載入到視窗。五個步驟具體操作見下圖:具體的代碼如下:UIButton *btn; btn = [[UIButton alloc]initWithFrame:CGRectMake(0, 20, 418, 7
Time of Update: 2017-01-18
一、程式外調用系統發簡訊這個方法其實很簡單,直接調用openURL即可:NSURL *url = [NSURL URLWithString:@"sms://15888888888"];[[UIApplication sharedApplication]openURL:url];二、程式內調用系統發簡訊這種方法有一個好處就是使用者發簡訊之後還可以回到App.首先要匯入MessageUI.framework,並引入標頭檔:#import
Time of Update: 2017-01-18
前言 一開始還以為代碼寫的有問題,點擊事件裡面有比較耗時卡主線程的代碼,逐一刪減代碼發現並不是這麼回事。本文 和參考文章裡說的情況不完全相同,UIButton 並沒有放在 UIScrollView 或 UITableView 上,但是 ViewController 是支援滑動返回的。 ——————————————————華麗的分割線,搜尋猜測解題中—————————————————— 解決辦法:也沒什麼好辦法,換成 ImageView 加 UITapGestureRecognizer 吧,
Time of Update: 2017-01-18
一、引言作為MVC設計模式中的C,Controller一直扮演著項目開發中最重要的角色,它是視圖和資料的橋樑,通過它的管理,將資料有條有理的展示在我們的View層上。iOS中的UIViewController是UIKit架構中最基本的一個類。從第一個UI視圖到複雜完整項目,都離不開UIViewController作為基礎。基於UIViewController的封裝和擴充,也能夠出色的完成各種複雜介面邏輯。這裡旨在討論UIViewController的生命週期和屬性方法,在最基礎的東西上,往往會得
Time of Update: 2017-01-18
面板模式(Facade),為子系統中的一組介面提供一個一致的介面,此模式定義 一個高層介面,這個介面使得這一子系統更加容易使用。下面給大家展示一下類的結構圖,想必大家一看就明白了:其實這個模式中,沒有類與類之間的繼承關係,只是進行了簡單的類引用,統一了對外的介面而已。看起來是不是很簡單?廢話不多說了,下面簡單向大家展示一下代碼吧!注意:本文所有代碼均在ARC環境下編譯通過。SubSystemOne類介面複製代碼 代碼如下:#import
Time of Update: 2017-01-18
模板方法模式的核心思想就是通過把不變的行為搬移到超類,去除子類中的重複代碼來體現它的優勢。其實,模板方法模式就是提供了一個很好的代碼複用平台。首先,還是先簡單看一下定義:模板方法模式,定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個演算法的結構即可重定義該演算法的某些特定步驟。下面和給大家展示一下類的結構圖:其實,結構很簡單,只有兩層關係,核心思想就是把公用方法向上提到父類中。代碼實現起來也不複雜。下面還是老樣子,向大家簡單展示一下代碼如何?。首先是一個pr
Time of Update: 2017-01-18
前言多視圖滑動點擊切換這個視圖在很多App都有用到,我對這個View進行了封裝,外界只需要調用一個介面,就能實現這個效果,使用方法和系統的tabbarController很相似。外界只需要調用下面這個介面即可整合./** * 添加一個子控制器 */- (void)addSubItemWithViewController:(UIViewController *)viewController;HYTabbarView效果圖如下HYTabbarView可靈活配置一屏寬顯示多少個標題,以及標題列的高度,
Time of Update: 2017-01-18
效果 源碼:https://github.com/YouXianMing/iOS-Project-Examples 中的 SideViewController //// ViewController.m// SideViewController//// Created by YouXianMing on 16/6/6.// Copyright © 2016年 YouXianMing. All rights reserved.//#import
Time of Update: 2017-01-18
掃描二維碼效果 源碼:https://github.com/YouXianMing/Animations //// QRCodeView.h// QRCode//// Created by YouXianMing on 16/7/7.// Copyright © 2016年 XianMing You. All rights reserved.//#import <UIKit/UIKit.h>#import
Time of Update: 2017-01-18
2016年七夕搶購七夕底價直降,滿268再減50!滿468減100!大牌49元起!相約七夕情人節!歐美日韓名妝香水,2折秒殺爆款!絕對正品! 真心表愛意!限時搶購等活動擁有盡有。那麼問題來了,基於代碼是如何?此功能的呢?不要著急,下面效果給大家帶來了關於大型網站搶購、距活動結束,剩餘時間倒計時的核心代碼,一起看看吧。關鍵代碼如下所示:/*** 倒計時** @param endTime 截止的時間戳記** @return 返回的剩餘時間*/-
Time of Update: 2017-01-18
手動布局子視圖; 下面先看下效果圖,我們今天要實現的效果:這裡我們預設用storyboard啟動: 首先我們要在白色的螢幕上面建立一個父視圖SuperView(藍色的背景),在父視圖裡面建立四個小視圖(橘黃色的背景) 下面看代碼, 在SuperView.h檔案裡面:#import <UIKit/UIKit.h>@interface SuperView : UIView{ UIView * _view01; UIView * _view02; UIView * _view03;
Time of Update: 2017-01-19
UISearchBar也是iOS開發常用控制項之一,點進去看看裡面的屬性barStyle、text、placeholder等等。但是這些屬性顯然不足矣滿足我們的開發需求。比如:修改placeholder的顏色、修改UISearchBar上面的UITextfield的背景顏色、修改UITextfield上面的照片等等。為了實現上述的需求,最好寫一個UISearchBar的子類就叫LSSearchBar吧LSSearchBar.h如下:複製代碼 代碼如下:#import
Time of Update: 2017-01-19
UITextField是IOS開發中使用者互動中重要的一個控制項,常被用來做帳號密碼框,輸入資訊框等。觀察效果圖UITextField有以下幾種特點:1.預設佔位文字是灰色的2.當游標點上去時,佔位文字變為白色3.游標是白色的接下來我們通過不同的方法來解決問題一.將xib中的UITextField與代碼關聯通過NSAttributeString方法來更改佔位文字的屬性(void)viewDidLoad {[super viewDidLoad];// Do any additional
Time of Update: 2017-01-19
如何正確地格式化時間這也是我們這兩天遇到的問題,跟使用者幾經溝通之後,終於抓到log,發現問題竟然是格式化導致的。怎麼解決呢?這個時候NSLocale的重要性就體現出來了。NSLocale作為大家都不常用的一個類,NSLocale類是將與國家和語言相關的資訊進行簡單的組合,包括貨幣、語言、國家等的資訊。所以很簡單,我們把dateFormatter的locale屬性改一下即可解決這個問題。將下面代碼放在dateFormatter初始化之後:複製代碼 代碼如下:NSLocale *usLocale
Time of Update: 2017-01-19
建立一個定時器(NSTimer)- (void)viewDidLoad { [super viewDidLoad]; [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(actionTimer:) userInfo:nil repeats:YES];}- (void)actionTimer:(NSTimer *)timer{}NSTimer預設運行在default mode下,default
Time of Update: 2017-01-19
本文執行個體分享了iOS圖片放大的方式,具體內容如下第一種方式:frame改變x值y值的方式放大圖片,是從左上開始放大.frame改變控制項寬高的方式放大圖片,是從中心開始放大.原頭像大小用frame改變寬高第二種方式:transform方式放大圖片,從中心開始放大以上就是iOS圖片放大的兩種方式,希望大家可以掌握。
Time of Update: 2017-01-19
本文執行個體為大家分享了ios下拉式功能表的具體代碼,供大家參考,具體內容如下一、效果圖二、工程圖三、代碼RootViewController.h#import <UIKit/UIKit.h>@interface RootViewController : UIViewController@end RootViewController.m#import "RootViewController.h"#import "NIDropDown.h"@interface
Time of Update: 2017-01-19
UIMenuController的使用 UIMenuController的展現需要基於一個View視圖,其互動則需要基於其所在View視圖的Responder。舉例來說,如果一個UIMenuController展現在當前ViewController的View上,則此UIMenuController的互動邏輯交由當前的ViewController進行管理。 在介面展示出UIMenuController需要3個條件:
Time of Update: 2017-01-19
1,建立NSString的分類,記得添加加密所需的標頭檔#import <CommonCrypto/CommonDigest.h> , NSString+MD5.h:#import <Foundation/Foundation.h>#import <CommonCrypto/CommonDigest.h>@interface NSString (MD5)+ (NSString *)md5To32bit:(NSString *)str;@end2,編寫加密方法: