你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 進步iOS開辟效力的小技能與思緒

進步iOS開辟效力的小技能與思緒

編輯:IOS開發綜合

先用一張圖展現進修IOS開辟應當控制的常識系統:

1.全圖片作為配景的時刻,能夠碰到的成績。,滑回的時刻,圖片逗留了一會才滑歸去。

緣由: 這類界面普通應用普通用imageView的第三種填充方法。

這類填充方法可讓圖片不被緊縮變形的條件下,盡量去填充全部控件,然則設置這個列舉的填充方法的時刻,記得依照下圖如許設置,將超越控件規模的給切割失落


設置束縛的時刻,記得選擇currentview的誰人對象


2.裝備適配的成績

照樣下面這張圖片,依照設計在6p下面來設置主動束縛,約好後,在5s下面的時刻,上面的愛心在主動束縛的設置上面和專業設置太近,這時候候挺影響雅觀的,這時候候第一反響固然是依據裝備來停止調劑,然則我認為這裡完整可使用上面這類方法來停止斷定設置

 CGFloat top = 0;
  CGFloat left = 0;
  CGFloat bottom = 0;
  CGFloat right = 0;

  if ([UIScreen ff_screenSize].width == 375) {

    top = 80;
    left = 70;
    bottom = 31;
    self.titleLabel.font = [UIFont systemFontOfSize:18];
    self.englishLabel.font = [UIFont systemFontOfSize:20];
    self.introduceLabel.font = [UIFont systemFontOfSize:14];
    right = 33;

  }else if ([UIScreen ff_screenSize].width == 414){
    bottom = 31;
    top = 88;
    left = 84;
    right = 33;

  }else if ([UIScreen ff_screenSize].width == 320){

    self.titleLabel.font = [UIFont systemFontOfSize:16];
    self.englishLabel.font = [UIFont systemFontOfSize:18];
    self.introduceLabel.font = [UIFont systemFontOfSize:13];
    self.introduceTop.constant = 8;
    top = 70;
    left = 44;
    bottom = 24;
    right = 28;

  }

  self.collectionButtonLeft.constant = right;

  self.chineseLabelTop.constant = top;
  self.introlduceLeft.constant = left;
  self.collectionButtonbottom.constant = bottom;

  [self.view setNeedsLayout];

記得修正束縛後挪用一下[self.view setNeedsLayout]; 這也是很症結的一點,不挪用沒有用果。

3.數字動畫後果


在觸及到數字比擬年夜的數據的時刻可以采用這個後果來做,後果動人。
想完成這類後果也比擬簡略。

@property (weak, nonatomic) IBOutlet UICountingLabel *tuitionLabel;

 weakSelf.tuitionLabel.text = self.tuitionForAcademyModel.tuition;

NSInteger grade = [self.tuitionForAcademyModel.tuition integerValue];

weakSelf.tuitionLabel.format = @"%d%";

[weakSelf.tuitionLabel countFromZeroTo:grade];

最主要的一步是設置format,否則他會跑小數的。

4.label文字間距若何調劑

- (void)configureContentLabelText
{
  NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:@"Label"];
  long number = 5;
  CFNumberRef num = CFNumberCreate(kCFAllocatorDefault,kCFNumberSInt8Type,&number);
  [attributedString addAttribute:(id)kCTKernAttributeName value:(__bridge id)num range:NSMakeRange(0,[attributedString length])];
  CFRelease(num);

  self.label.attributedText = attributedString;
}

後果以下,字的間距被拉開了


5 . 登錄思緒

a.用戶進入app後,在應用app的進程中,停止須要登錄的操作。

b.這時候候挪用的後台接口普通須要帶上token參數。這時候候由於用戶沒有登錄,沒有token,所以在這裡停止斷定當地能否耐久化了token.

c.當地沒有耐久化token,所以主動彈出登錄框,讓用戶停止登錄

d.用戶登錄終了後將相干數據,特殊是token停止當地耐久化

小細節:

a.每次啟動app的時刻可以將token 停止io操作讀掏出來,保留在單例外面,如許就不消反復的去停止消耗機能的io操作

b.由於項目中自界說控件必弗成少,在控件級其余頁面,須要應用到須要登錄的操作,這時候候就須要發送告訴給對應的掌握器來present login掌握器,由於掌握器級別能力彈出掌握器,如許一來,會發生年夜量的告訴操作,建議可以將login寫在Window下面(這裡由於項目工期緊,發明這個成績的時刻曾經欠好處置,願望後來的兄弟們切記)

c.須要token參數的接口,token參數毛病,這時候候須要後台給一個同一的回調,如許便利集中起來處置

6 . 賬號互踢的思緒

萬萬不要測驗考試在單個頁面行止理。

思緒以下:

1.須要在登錄登出的發送告訴到各個掌握器,並在告訴外面停止各個掌握器的初始化操作。

2.在挪用須要登錄能力操作的接口的時刻,後台停止斷定給你一個token 參數掉效的回調

3.作為一個公道的項目框架,總該有一個AFN的封裝吧!在封裝的AFN外面停止同一斷定,以下圖。(由於每一個後台處置方法紛歧樣,代碼就上圖吧,給你們代碼也復用不了。)


4.這個告訴發送到了UITabBarController,停止讓用戶從新登錄處置

#import <UIKit/UIKit.h>

@interface WXMainController : UITabBarController

@end
#pragma mark -監聽賬號互踢,這時候候先加入登錄,然後回到首頁
- (void)addNotification{

  WS(weakSelf);

  //  [[NSNotificationCenter defaultCenter] postNotificationName:KMutualKickNotification object:nil];
  [[NSNotificationCenter defaultCenter] addObserverForName:KMutualKickNotification object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) {

    [weakSelf alertWindow];

  }];

}

#pragma mark-彈出框選擇界面
- (void)alertWindow{


  if (!self.isShow) {

    self.isShow = YES;

    UIAlertView *alter = [[UIAlertView alloc] initWithTitle:@"" message:@"您的賬號已在其他裝備登錄,如今您曾經處於加入登錄狀況" delegate:self cancelButtonTitle:@"肯定" otherButtonTitles:nil];

    [alter show];
  }


}

#pragma mark-彈出框選擇界面的署理辦法,點擊肯定就彈出登錄框
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{

  if (buttonIndex == 0) {

    WXLoginController * loginController = [WXLoginController showLoginContoller:NO andIsShowColse:NO];

    [self presentViewController:loginController animated:YES completion:nil];

    self.isShow = NO;

  }

}

任何工作都無方法和技能,單沒有捷徑,IOS開辟也不破例,踏踏實實從理論中發明辦法,闇練後就有技能。願望本文可以或許贊助的進修IOS開辟的年夜家。

【進步iOS開辟效力的小技能與思緒】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved