1. 程式人生 > >iOS新浪微部落格戶端開發(1)——新特性介面

iOS新浪微部落格戶端開發(1)——新特性介面

轉載自:http://blog.csdn.net/chy305chy/article/details/43118361

看完了MJ老師的微博專案視訊,準備自己動手寫一下,記錄開發中的一些感想。

1、首先判斷是否第一次使用該版本,如果是,先跳轉到新特性介面,否則,直接跳到主介面,程式碼:

  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
  2.     // Override point for customization after application launch.
  3.     // 刪除storyboard後 需設定其window
  4.     self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];  
  5.     // 1、從Info.plist中取出版本號
  6.     NSString *versionKey = (NSString *)kCFBundleVersionKey;  
  7.     NSString *currentVersion = [NSBundle mainBundle].infoDictionary[versionKey];  
  8.     // 2、從沙盒中取出上次儲存的版本號
  9.     NSString *storedVersion = [[NSUserDefaults standardUserDefaults]objectForKey:versionKey];  
  10.     // 3、判斷plist中的版本號與沙盒中的版本號是否一致
  11.         if ([version isEqualToString:storedVersion] ) {  
  12.             application.statusBarHidden = NO;  
  13.             if ([AccountTool sharedAccountTool].currentAccount) {  
  14.                 self.window.rootViewController = [[CLQMainViewController alloc]init];  
  15.             }else{  
  16.                 self.window.rootViewController = [[CLQOauthController alloc]init];  
  17.             }  
  18.         }else// 版本號不一樣,第一次使用新版本
  19.     [[NSUserDefaults standardUserDefaults]setObject:currentVersion forKey:versionKey];  
  20.     [[NSUserDefaults standardUserDefaults] synchronize];  
  21.     // 顯示版本新特性介面
  22.     self.window.rootViewController = [[NewFeatureViewController alloc]init];  
  23.         }  
  24.     // window預設不顯示,不能缺少該語句
  25.     [self.window makeKeyAndVisible];  
  26.     returnYES;  
  27. }  

注意:不使用storyboard時,需要增加以下兩行語句:

self.window = [[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]];

[self.windowmakeKeyAndVisible];

2、 在新特性介面新增背景圖片、scrollView和一些按鈕、label等

使用iOS8.1 sdk,新增scrollImage時,圖片下方留有20的空白,解決方法:設定scrollView的frame為全屏:

  1. <span style="white-space:pre">    </span>scrollView.frame = [UIScreen mainScreen].bounds;  

在做checkBox風格的按鈕時,為了使鬆開按鈕後其背景圖片不會切換,需監聽按鈕的點選事件:

  1. // 設定監聽事件,選中按鈕之後圖片更改,鬆開圖片不變
  2.             [sharedButton addTarget:self action:@selector(share:) forControlEvents:UIControlEventTouchUpInside];  
  3. #pragma mark 分享按鈕的監聽事件
  4. -(void)share:(UIButton *)button  
  5. {  
  6.     button.selected = !button.selected;  
  7. }  

  由於目前scrollView中只有一個image,需要設定pageControl在單個頁面時隱藏:

  1. pageControl.hidesForSinglePage = YES// 單個頁面時隱藏

3、最後效果如下: