1.iOS6之前的做法NSValue *value = [NSValue valueWithNonretainedObject:myObj]; [array addObject:value];2.現在的做法=== Code ===NSObject *object = [[NSObject alloc] init];NSLog(@"object.retainCount %i", object.retainCount);NSHashTable *hashTable = [NSHashTable
ios ui開發過程中,經常會使用到導覽列,預設的樣式比較單一,所以經常需要修改導覽列的樣式ios4:- (void)drawRect:(CGRect)rect { UIImage *image = [UIImage imageNamed:@"navbar_bg.png"]; [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)]; return;} ios5以後: if
有許多方法可以實現web頁面裡映像的應答。然而,我碰到的所有方案都使用了JavaScript。這使我疑惑不用JavaScript實現映像響應是否可行。 我提出了下面純CSS的方案。 它是如何工作的呢? 我把<img>標籤防止在<span>內。src屬性將從伺服器獲得手機版本的映像。接著我還在<span>元素內部包含了一點CSS。 什嗎??HTML文檔中能嵌入了CSS? 是的,只要你增加了scoped屬性,這就在HTML5裡就是非常有效。在這個CS
首先,必須先強調下代碼複用的重要性。複用的重要性:第一,較高的生產效率;第二,較高的軟體品質;第三,適當的使用複用可以改善系統的可維護性。複用不僅僅是代碼的複用,代碼複用只是複用的初等形式傳統的複用:代碼的剪貼複用,演算法的複用,資料結構的複用。在一個物件導向的語言中,資料的抽象化、繼承、封裝和多態性等特性使得一個系統可以在更高的層次上提供複用性。抽象化和繼承關係使得概念和定義可以複用。多態性使得實現和應用可以複用。抽象化和封裝可以保持和促進系統的可維護性。使得複用的焦點不再集中在函數和演算法等
- (UIImage *)fixOrientation:(UIImage *)srcImg { if (srcImg.imageOrientation == UIImageOrientationUp) return srcImg; CGAffineTransform transform = CGAffineTransformIdentity; switch (srcImg.imageOrientation) { case
@property (weak,nonatomic)IBOutletUILabel *downLabelInfo;@property (weak,nonatomic)IBOutletUIImageView *imageView; @end @implementationViewController - (void)viewDidLoad{ [super viewDidLoad]; NSString *url =
模仿iphone手機通訊錄項目之前實現了拼音排序 通訊錄的設計。現在給通訊錄增加搜尋功能。原介面如下:搜尋功能主要依靠 uisearchbar uisearchdisplaycontroller來實現第一步 初始化:初始化searbar 和seardisplaycontroller 以及 對應的兩個數組(用來顯示全部結果以及搜尋結果)還有對應的delegate@interface ComunicationViewController (){
-(void) tapClick:(UITapGestureRecognizer *)tap{ [UIViewbeginAnimations:@"exitApplication"context:nil]; [UIViewsetAnimationDuration:0.5];
我們先來轉換一個簡單的block代碼: 源:int main() { void (^blk)(void) = ^{printf();}; blk(); return 0; }struct __block_impl { void *isa; int Flags; int Reserved; void *FuncPtr;};struct
blocks blocks是c語言的擴充,他是:帶有自動變數(局部變數)的匿名函數。 這個概念叫做:閉包。如python中的lambda,在c++11中也引入了lambda; 維基百科中關於閉包:閉包(Closure)是詞法閉包(Lexical
項目中為了與Android相配合.要擷取到時間戳記裡的毫秒單位:擷取方法:UInt64 recordTime = [[NSDate date] timeIntervalSince1970]*1000;首先 [[NSDate date] timeIntervalSince1970] 是可以擷取到後面的毫秒 微秒的 ,只是在儲存的時候省略掉了, 如一個時間戳記不省略的情況下為 1395399556.862046 ,省略掉後為一般所見 1395399556 。所以想取得毫秒時用擷取到的時間戳記 *1
1.AppDelegate.hvcD4KPHAgY2xhc3M9"p1">2.AppDelegate.m3.ViewController.h4.ViewController.m#import "ViewController.h"@interface ViewController ()@end@implementation ViewController@synthesize bilField;@synthesize tipFieldTen;@synthesize tipFieldFifteen;@
最近做項目遇到了上傳圖片這個功能,一直弄了兩天才弄出來,在這裡分享給大家。 首先要上傳圖片並不是直接就把圖片通過URL上傳的,而是要把圖片轉化為二進位檔案。 IOS中有兩個方法,能直接把圖片轉化為二進位 UIImage *image = [UIImage imageNamed:@"8fca9.jpg"]; NSData *data = UIImagePNGRepresentation(image); NSData *data2 =
NSOperation.h定義了NSOperation,內容非常的簡潔,NSOperation本身是一個抽象類別,定義了一個要執行的Task,NSOperationQueue是一個Task隊列,當Task加入到隊列後,NSOperationQueue會自動按照優先順序及Task的從屬依賴關係(如果有的話)組織執行。NSOperation是沒法直接使用的,它只是提供了一個Task的基本邏輯,具體實現還是需要你通過定義自己的NSOperation子類來獲得。如果有必要也可以不將NSOperation
我們都知道,iOS為安全考慮,各應用只能使用其自已的應用沙箱內的儲存空間,各應用之間是不能互相訪問彼此的沙箱空間的。另外,iOS裝置都沒有外置儲存卡,這樣,象 Android 裝置間共同訪問外置儲存卡來共用資源的方式也是行不通的。由以上分析,我們可以看得出,應用之間要進行資源共用,那麼首先,資源要能進行儲存,並且這個儲存位置是能被各個應用同時訪問到的才行。我們來看一下儲存的方式有幾種,這裡借用 Android 官方資料中的片斷: Storage
Foundation架構中常用的類有:NSString、NSArray、NSSet、NSDictionary 以及它們對應的子類
UIButton實現背景展開,即圖片兩端不展開中間展開的辦法有如下兩種:第一種方法很簡單而且使用性更廣。做法就是直接展開想要setBackgroundImage的image,代碼如下:UIImage *image = [UIImage imageNamed:@"image.png"]; image = [image stretchableImageWithLeftCapWidth:floorf
總體來說個人化定製UITextView中的內容有兩種方法:1,從檔案中讀取內容到UITextView,這個個人感覺使用rtfd和rtf格式檔案效果非常好。2,使用NSAttributeString進行定製具體方法如下:NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init]; parag
判斷裝置是否是ipadBOOL isPad(){#ifdef UI_USER_INTERFACE_IDIOM return(UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPad);#else return NO;#endif}判斷裝置是否是iphone5 #define iPhone5([UIScreen instancesRespondToSelector:@selector(currentMode)]?
最近項目遇到一個很奇葩的問題點擊按鈕啟動 presentViewController