ios開発テクニックまとめ(一)

4800 ワード

1.ラベルのテキスト表示の色を設定します.
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@" "];

[str addAttribute:NSForegroundColorAttributeName value:BGColor range:NSMakeRange(5,5)];
_noteTextField.attributedText = str;

2.タイマーのキャンセル、オフ、再起動(1).タイマーを設定します.
 _timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(refreshTime) userInfo:nil repeats:YES];

(2).タイマーは
 [_timer setFireDate:[NSDate distantFuture]];// 
(3)を閉じて、タイマーは再起動します
[_timer setFireDate:[NSDate distantPast]];

(4).タイマーキャンセル

[_timer invalidate];
_timer = nil;
3.ルートビューとしてUItabbarViewControllerを使用する場合、サブビューでUITabbarViewControllerを取得する.

MainTabBarViewController *manTabar= (MainTabBarViewController *)[UIApplication
sharedApplication].keyWindow.rootViewController;

4.文字列に改行を追加、追加
NSString *message = [NSString stringWithFormat:@"Auto connect upon
%@(%@)'s request",settings.connectionInfo.displayName,settings.connectionInfo.hostName];
  • 非ARCの項目ではARCファイルを使用し、ARCのファイルに-fobjc-arcタグを追加ARCの項目では非ARCファイルを使用し、非ARCファイルに-fno-objc-arcタグを追加
  • 6 - (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait modes:(NSArray *)array; - (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait;
    参照:このメソッドでは、Commonモードを使用して、NSRunLoopCommonModes定数に関連するモードであるメインスレッド実行ループ(run loop)キューにメッセージを追加します.通常のループ処理の一部として、プライマリ・スレッドは、Commonモードで実行されていると仮定したメッセージをキューから取り出し、必要なメソッドを呼び出します.同じスレッドでこのメソッドを複数回呼び出すと、対応する選択がキューに並び、同じ順序で取り出して実行されます.
    メインスレッドで呼び出す.BOOL値は、現在のスレッドをブロックするか否かを示す.NOはすぐに戻ることを示し、デフォルトのCommonモードに従ってキューに参加して呼び出しを待つ.現在のスレッドもプライマリスレッドである場合、「YES」を選択すると、メッセージがすぐに送信され、処理されます.メインスレッドのLoopで同期操作を行い、変更方法の完了を待って次のメッセージを実行する.参照先:http://www.jianshu.com/p/083726e68c2b
    7 . IOS撮影コントロールは同時に撮影と録画を表示する
    - (void) recordVideo: (id) sender{
    UIImagePickerController *ipc = [[UIImagePickerController alloc] init];
    ipc.sourceType = UIImagePickerControllerSourceTypeCamera;
    ipc.delegate = self;
    ipc.allowsEditing = YES;
    ipc.videoQuality = UIImagePickerControllerQualityTypeMedium;
    ipc.videoMaximumDuration = 30.0f; // 30 seconds
    ///ipc.mediaTypes = [NSArray arrayWithObject:@"public.movie"];
    // ,@"public.movie", @"public.image" ,
    ipc.mediaTypes = [NSArray arrayWithObjects:@"public.movie", @"public.image", nil];
    [self presentModalViewController:ipc animated:YES];
    }

    8.objective-cある属性のgetter、setterを書き換える場合は追加する必要があります
    @synthesize propertyName = _propertyName;
    

    9.NSURLRquestキャッシュポリシー
    1.   NSURLRequestUseProtocolCachePolicy = 0, 
    

    デフォルトのキャッシュポリシーは、キャッシュが存在しない場合、サービス側から直接取得されます.キャッシュが存在する場合、responseのCache-Controlフィールドに基づいて次の操作を判断する.例えば、Cache-Controlフィールドがmust-revalidataである場合、サービス側にデータの更新があるかどうかを尋ね、更新がなければユーザーにキャッシュデータを直接返し、更新があればサービス側に要求する.
    2. NSURLRequestReloadIgnoringLocalCacheData = 1,
    

    ローカルキャッシュデータを無視して、サービス側に直接要求する.
    3.NSURLRequestIgnoringLocalAndRemoteCacheData = 4, 
    

    ローカルキャッシュ、エージェントサーバ、その他の仲介を無視して、ソースサービス側に直接要求する.
     4.NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData
    

    ふたつが一致する
    5.NSURLRequestReturnCacheDataElseLoad= 2, 
    

    キャッシュがあれば使用する、その有効性(すなわちCache-Controlフィールドを無視する)にかかわらず、サービス側に要求する.
    6. NSURLRequestReturnCacheDataDontLoad =3, 
    

    ローカルキャッシュをフリーズロードします.なければ失敗する.(現在ネットワークがない場合に使用)
    7.NSURLRequestReloadRevalidatingCacheData =5,
    

    キャッシュされたデータは、サービス側によって有効であることを確認してから使用する必要があります(NSURLRequestUseProtocolCachePolicyの場合のようです).
    10.**非表示を削除します.svnファイル、コマンドライン**の最初のコマンド:defaults write com.apple.finder AppleShowAllFiles TRUE; 第2条コマンドkillall Finder;ko、隠した.svnフォルダが元の形になった.非表示ファイルの表示をオンにし、プロジェクトディレクトリの下に削除します.svnファイルを復元し、defaults write comを復元します.apple.finder AppleShowAllFiles FALSE; killall Finder;
    11.UItextFieldのインデント効果を設定.
       UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 5)];
    _phoneTextField.leftView = view;
    _phoneTextField.leftViewMode = UITextFieldViewModeAlways;
    

    12.シャドウをすばやく設定する方法_shadeView.layer.shadowOpacity = 0.8;
    理解する必要があります:1.shadowOpacityのデフォルト値は0 shadowColorのデフォルト値はBlack shadowOffsetのデフォルト値は{0,-3}であり、つまりシャドウがY軸に対して3点上にシフトすることを意味する.shadowRadius属性はシャドウのぼかし度を制御、シャドウの半径、値が大きいほどシャドウの範囲とぼかし度が深いと理解できる.
    2.深い学習、永遠の影のピクチャーはアニメーションをする時、別の1種の方法CGPathを選ぶべきですhttp://blog.csdn.net/dean19900504/article/details/9233879