ios weibo 搭建
建立程式載入介面
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ //1>建立視窗 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; //2>設定視窗的根控制器 UITabBarController *tabBarController = [[UITabBarController alloc] init]; self.window.rootViewController = tabBarController; //3>顯示視窗 [self.window makeKeyAndVisible]; return YES;}LaunchImage配置LaunchImage.launchimage檔案下的Contents.json檔案中記錄了LaunchImage的詳細配置:
取消APP表徵圖渲染
程式載入時隱藏狀態列
在程式載入完成後如需恢複狀態列顯示,可以在didFinishLaunchingWithOptions方法中調用[application setStatusBarHidden:NO]方法;
渲染圖片
在iOS7中,會對selectedImage的圖片再次渲染為藍色,要想顯示原圖,就必須要取消渲染;
取消渲染調用的方法:
selectedImage = [selectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
如何區分ios6 跟 ios7
#define iOS7 ([[UIDevice currentDevice].systemVersion doubleValue] >= 7.0),一般放在 ItcastWeibo-Prefix.pch 裡
如何根據ios6 跟 ios7 來設定不同的圖片,如:ios6 的圖片是凸出來的,ios7是平的
寫一個分類#import "UIImage+MJ.h"@implementation UIImage (MJ)+ (UIImage *)imageWithName:(NSString *)name{ if (iOS7) { NSString *newName = [name stringByAppendingString:@"_os7"]; UIImage *image = [UIImage imageNamed:newName]; if (image == nil) { // 沒有_os7尾碼的圖片 image = [UIImage imageNamed:name]; } return image; } // 非iOS7 return [UIImage imageNamed:name];}通過分類來擷取不同的圖片 // 設定選中的表徵圖 UIImage *selectedImage = [UIImage imageWithName:selectedImageName]; if (iOS7) { childVc.tabBarItem.selectedImage = [selectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; } else { childVc.tabBarItem.selectedImage = selectedImage; }
當 建立好controler之後就相當於 建立了個 tableItem ,在自訂tablebar的時候已經初始化 好tableBar 所有載入完畢之後需要刪除系統的tablebar,view載入完畢刪除
// 2.封裝一個導航控制器 UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:childVc]; [self addChildViewController:nav]; // 3.添加tabbar內部的按鈕 [self.customTabBar addTabBarButtonWithItem:childVc.tabBarItem];
- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; // 刪除系統自動產生的UITabBarButton for (UIView *child in self.tabBar.subviews) { if ([child isKindOfClass:[UIControl class]]) { [child removeFromSuperview]; } }}