顯示具有 iOS 標籤的文章。 顯示所有文章
顯示具有 iOS 標籤的文章。 顯示所有文章

2013/07/05

Hide Status Bar in iOS Apps / 隱藏 iOS Apps 的狀態列

If you want to hide status bar through whole app, just add code below in the "application:didFinishLaunchingWithOptions:" method inside app's delegate file

如果要再App中隱藏狀態列,把下面的 code 加入 App Delegate 檔案的 "application:didFinishLaunchingWithOptions:" method 中

2012/08/25

UIImageView - contentMode 讓UIImage保持原大小、並置中於UIImageView中


誠如上圖,在set image給UIImageView的時候會碰到它自己被拉伸到和View一樣的大小
於是iOS SDK就有簡單的code可以調用來處理這個情形
就是contentMode~(繼承UIView的sub classes應該都可以透過這個方法調整它的內容)
將contentMode設定成UIViewContentModeCenter就可以達成了,
它有許多模式,可以多try看他效果如何 :D
模式列表:
(來源:UIView Class Reference - UIContentMode

調用方式:

2012/08/24

更改UITabBarItem選擇到的背景

做Project時稍微查詢了一下,UITabBarItem的icon大小為30*30
(來源:stackoverflow: What is the max size of a UITabBarItem image?)

於是就來著手處理UITabBarItem的東西,好奇心驅使之下,去查了如何改變selected item的背景!(iOS SDK真的有夠強大,很整齊又很有自由度!)

於是Google到了這篇
(來源:stackoverflow: How to change Background color of UITabbar selected tab color to blue?)
真的還頗容易的:
首先他先回答了如何更改UITabBar的背景顏色,用tintColor:去實現
myTabBarController.tabBar.tintColor = [UIColor blueColor];


再來就是修改選中item的背景,設定selectionIndicatorImage這個變數,就可以達到自己想要的效果了!
myTabBarController.tabBar.selectionIndicatorImage = [UIImage imageNamed:@"myImage.png"];

2012/08/21

objectiv-C 中 retain/copy/assign的含義

原文:新手入門,請給講一下retain/copy/assign的含義,三樓回文

舉個例子
NSString *pt = [[NSString alloc] initWithString:@"abc"];

上面一段代碼會執行以下兩個動作
1. 分配一段記憶體空間用來存儲@"abc"  譬如:記憶體位址為:0X1111,內容為 "abc"
2. 分配一段記憶體空間用來存儲pt  譬如:記憶體位址為:0Xaaaa,內容自然為0X1111

接著分別比較assign、retain、copy

assign的情況:
NSString *newPt = [pt assign];
此時newPtpt完全相同:地址都是0Xaaaa、內容為0X1111。即newPt只是pt的別名,對任何一個操作就等於對另一個操作。 因此retainCount不需要增加。

retain的情況:
NSString *newPt = [pt retain];
此時newPt的地址不再為0Xaaaa,可能為0Xaabb,但是內容依然為0X1111。 因此newPtpt 都可以管理"abc"所在的記憶體。因此 retainCount需要增加1。

copy的情況:
NSString *newPt = [pt copy];
此時會在堆上重新開闢一段記憶體存放@"abc", 比如0X1122 內容為@"abc" ,同時會在記憶體上為newPt分配空間。譬如地址:0Xaacc 內容為0X1122 ,因此retainCount增加1,供newPt來管理0X1122這段記憶體位址。