Time of Update: 2018-12-05
UIScrollView 原理 在滾動過程當中,其實是在修改原點座標。當手指觸摸後, scroll view會暫時攔截觸摸事件,使用一個計時器。假如在計時器到點後沒有發生手指移動事件,那麼 scroll view 發送 tracking events 到被點擊的 subview。假如在計時器到點前發生了移動事件,那麼 scroll view 取消 tracking 自己發生滾動。 子類可以重載touchesShouldBegin:withEvent:inContentView:
Time of Update: 2018-12-05
iPhone 非同步載入圖片AsyncImageView.h檔案@interface AsyncImageView : UIView {NSURLConnection* connection;NSMutableData* data;}@endAsyncImageView.m檔案@implementation AsyncImageView - (void)loadImageFromURL:(NSURL*)url {if (connection!=nil) { [connection
Time of Update: 2018-12-05
Modol View Controller(MVC)是一種最早的也是最成功的可重用的設計模式,70年代的時候首次在smaltalk編寫的程式中成功使用。基於MVC設計模式,Cocoa整體架構可以劃分為三個子系統:Model, View, Controller,我們可以相應的理解為:資料模型,視圖和控制器。Modol
Time of Update: 2018-12-05
A類委託B類: 1)建立一個協議 changeRowDelegate 包含一個方法 -(void)changeRow; 2)在A類增加@property(nonatomic,assign)id<changeRowDelegate > delegate , 在A類需要的地方 [delegate changeRow]; 3) 在B類執行個體化A類 ,設定A類的代理為自己,最後實現協議方法 今天就是忘了設定代理為自己,發帖紀錄下!
Time of Update: 2018-12-05
委託(delegate)也叫代理是iOS開發中常用的設計模式。我們藉助於protocol(參考博文:objective-c協議(protocol))可以很方便的實現這種設計模式。什麼是代理?蘋果的官方文檔給了很清晰的解釋:Delegation is a simple and powerful pattern in which one object in a program acts on behalf of, or in coordination with, another object.
Time of Update: 2018-12-05
Socket使用大全第一部分、概念的理解1、什麼是Socket?Socket又稱之為“通訊端”,是系統提供的用於網路通訊的方法。它的實質並不是一種協議,沒有規定電腦應當怎麼樣傳遞訊息,只是給程式員提供了一個發送訊息的介面,程式員使用這個介面提供的方法,發送與接收訊息。Socket描述了一個IP、連接埠對。它簡化了程式員的操作,知道對方的IP以及PORT就可以給對方發送訊息,再由伺服器端來處理髮送的這些訊息。所以,Socket一定包含了通訊的雙發,即用戶端(Client)與服務端(server)。
Time of Update: 2018-12-05
第一種:通過人為的辦法改變view.transform的屬性。具體辦法: view.transform一般是View的旋轉,展開移動等屬性,類似view.layer.transform,區別在於 View.transform是二維的,也就是使用仿射的辦法通常就是帶有首碼CGAffineTransform的類(可以到API文檔裡面搜尋這個前
Time of Update: 2018-12-05
問題描述:用一個NSTimer定時重新整理,而在UISCrollView划動發生的過程中,重新整理的效果停止.解決辦法:- (void)setTimer{NSTimer *timer;NSDate *date = [NSDate date];timer = [[NSTimer alloc] initWithFireDate:date interval:m_ablum.m_displayInterval target:self
Time of Update: 2018-12-05
前段時間項目中涉及到輸入驗證比較多,有簡單的是否為純數字輸入的驗證,是否為純字母輸入的驗證,也有複雜的正則檢查驗證。偶爾翻閱去年買的一本設計模式的書,看到了一種設計模式:策略模式。運用策略模式,把輸入驗證抽象出來,寫成一個單獨的類,在需要的地方調用豈不是很方便。下面是實現的過程:一、設計基類抽象出一個基類,把不同的驗證寫成子類,這樣在所有地方就可以調用同一個介面,大大降低使用者的複雜度。基類的設計先看代碼:#import
Time of Update: 2018-12-05
開發多個Section的tableView。首先應該考慮到資料來源該如何得到我們這裡可以通過兩種方式:第一種是讀取plist檔案。第二種是通過代碼進行資料存放區以及讀取。多個Section需要的資料來源是一個字典,字典裡的內容是一個數組。在plist檔案中可以這樣去建立在.h檔案中定義一個字典,一個數組在.m檔案的viewDidLoad函數中:解釋一下:通過bundle得到整個程式的沙箱,建立NSURL對象,讀取到一個字典中,然後取所有的字典key儲存到一個數組中。接下來就是實現TableVie
Time of Update: 2018-12-05
1.在.h檔案中加入一個變數用來記錄當前的scale值, 讓這個ViewController遵循UIGestureRecognizerDelegate代理.並在.h中加入下面這個變數CGFloat lastScale;2. 在viewDidLoad中加入下面語句 UIView *holderView = [[UIViewalloc]initWithFrame:CGRectMake(0,0,320,416)]; UIImageView *showImgView =
Time of Update: 2018-12-05
項目經曆過大的變動之後會留下一些不再需要的圖片檔案,寫了一個指令碼跑了一下,找到150張未用到的圖片,給力~下面的指令碼使用的時候需要根據自己的項目指定圖片目錄和代碼目錄找出不再需要的圖片#如果沒有找包含@"imageName"或@"imageName.png"的.h.m檔案,則認為項目裡不再需要這個圖片find ./Resources -name "*.png" \ |grep -v @ \ |while read line;do iname=$(basename
Time of Update: 2018-12-05
#import <CoreText/CoreText.h>#import <QuartzCore/QuartzCore.h>NSAttributedString *getAttributedString(){ NSMutableAttributedString *attriString = [[[NSMutableAttributedStringalloc] initWithString:@"this is test!"]
Time of Update: 2018-12-05
Cocoa 提供了NSPredicate 用於指定過濾條件,謂詞是指在電腦中表示計算真假值的函數,它使用起來有點兒像SQL 的查詢條件,主要用於從集合中分揀出合格對象,也可以用於字串的正則匹配。首先我們看一個非常簡單的例子,對謂詞有一個認知。#import <Foundation/Foundation.h>@interface Person: NSObject{int pid;NSString *name;float height;}-(void) setPid: (int)
Time of Update: 2018-12-05
蘋果每發布一個系統,都夠開發人員忙活一陣的,更新xcode適配新系統:像iOS4支援Retina需要@2x的圖;像iOS5不支援udid;像現在的iOS6和iPhone5要面對的下面的一堆問題。1.添加Retina 4 launch
Time of Update: 2018-12-05
保留一個對象建立了一個對該對象的“強”引用。一個對象只有在它的所有強引用都被釋放後才能被回收。因此,一個對象的生命週期取決於其強引用的所有者。在某些情況下,這種行為可能並不理想。您可能想要引用一個對象而不妨礙對象本身的回收。對於這種情況,您可以擷取一個“弱”引用。弱引用是通過儲存一個指向對象的指標建立的,而不是保留對象。
Time of Update: 2018-12-05
這次講的內容很簡單:1.首先我們還是建立一個Single View Application,然後開啟MainStoryboard_iphone.storyboard,在裡面放入倆lable和兩個TextFiled:2.接著開始寫代碼:ViewController.h:#import <UIKit/UIKit.h>@interface ViewController : UIViewController{UITextField *nameField;UITextField
Time of Update: 2018-12-05
Cocos2d-x學習交流群:140326755 Email : hahayacoder@gmail.com 零黑蘋果是條不歸路 曆經波折,折騰了好幾天,又是換64位win7系統,又是裝虛擬機器,又是安裝XCode(黑蘋果安裝XCode時最好將系統時間調到2012年前,否則有可能安裝不成功),終於在我的ThinkPad
Time of Update: 2018-12-05
1、IOS沙箱機制IOS為每一個應用程式建立了一個檔案系統結構去儲存該應用程式檔案,此地區成為沙箱,包括聲音、映像、文本等檔案都存放其中。1、每個應用程式都有自己的儲存空間2、應用程式不能訪問別程式的儲存空間的內容3、應用程式請求的資料都要通過許可權檢測,假如不合格話,不會被允許存取。2、沙箱路徑在Finder上點->前往->前往檔案夾,輸入/Users/username/Library/Application Support/iPhone Simulator/
Time of Update: 2018-12-05
不知道什麼時候開始,自從用上IOS系統,一發現有提示更新,比如istore或者cydia,都會忍不住去更新,是不是有怪癖了。。。但是有些軟體或者遊戲不太願意去更新,可是又有提示,很是糾結。現在總結了下如何隱藏CYDIA的方式,跟我同樣有怪癖的童鞋們來學學吧~第一步 開啟CYDIA,