2011年4月12日 星期二

修改UIActionSheet的Button風格

利用UIActionSheetDelegate的Callback Function就可以做到自定義風格


- (void)willPresentActionSheet:(UIActionSheet *)actionSheet  // before animation and showing view
{
    // 搜尋UIActionSheet中的Action Sheet Button View
    for (UIView* view in [actionSheet subviews])
    {
        if ([[[view class] description] isEqualToString:@"UIThreePartButton"])
        {
            if ([view respondsToSelector:@selector(title)])
            {
                // 修改位置
                NSString* title = [view performSelector:@selector(title)];
                if ([title isEqualToString:@"Button 1"] && [view respondsToSelector:@selector(setEnabled:)])
                {
                    [view performSelector:@selector(setEnabled:) withObject:NO];
                }
            }
        }
    }
}

2011年2月23日 星期三

UITabBar更改背景色彩方法

今天在做介面設計時,
突然之間想利用UITabBar,
不過UITabBar本身背景色係黑色,
太單調了,所以想到要清空它的背景色,
於是在網上找到思路,實現了

其實原理很簡單,哪個黑色背景原來是在UIView的drawRect:畫上去的,
因此我利用了Objective-c的method特性就完成了我的目的

@implementation UITabBar (CustomBackgound)
- (void)drawRect:(CGRect)rect {
}
@end

之後alloc UITabBar時設定它的背景色為clear color即可。

PS.1:其實你還可以利用subclass去達到相同效果
PS.2:這個方法不止可以清空背景,還可以利用圖片去作UITabBar的背景

UISlider不見了軌道的方法

@interface UINoBgSlider : UISlider
{
}

@end

@implementation UINoBgSlider

// implementation this method to not draw the slider track
- (CGRect)trackRectForBounds:(CGRect)bounds
{
return CGRectZero;
}

// implementation this method to handle the slider thumb control position
- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value
{
return CGRectMake(x, y, width, height);
}

@end

2011年2月16日 星期三

令iPhone SDK代碼分辨是「模擬器」還是「真機」

在開發 iPhone 軟件的過程中,有時會用到一些功能是無法在模擬器內運作。
可以用以下方法去使用SDK代碼分辨是「模擬器」還是「真機」

#if (TARGET_IPHONE_SIMULATOR)
// Simulator
#endif

#if !(TARGET_IPHONE_SIMULATOR)
// Real device
#endif

轉貼至:Pacess Laboratory

iPhone SDK-使用NSTimerInterval計算時差

今日用到NSTimerInterval去計算時間,
NSTimerInterval本身是以秒為單為,
所以兩個NSTimerInterval相減就可以得到時間差

NSTimerInterval轉為分鐘:
minutes = floor(NSTimerInterval/60);

NSTimerInterval轉為小時:
minutes = floor(NSTimerInterval/3600);

2010年12月16日 星期四

Compile OpenSSL for iPhone

Step 1:
下載OpenSSL代碼
Link : http://www.openssl.org/source/
我使用的是 openssl-1.0.0c 版本
openssl-1.0.0c.tar.gz
以下Step在MacOS下完成

Step 2:
使用OpenSSL代碼內的config進行設定
命令如下:
./config --openssldir="Compile後的lib路徑" no-asm
./config --openssldir=/Users/Kito/Desktop/openssl_ios/ no-asm


Step 3:
修改Makefile
找 CC= cc
改為CC= /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2
(Mac OS的iPhone SDK平台GCC Compiler)

在CFLAG參數中找 -arch i386
改為 -arch armv6

在CFLAG參數開始位置加上嫁下參數:
-isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk
(Mac OS的iPhone SDK路徑)

找 SHARED_LDFLAGS=-arch i386 -dynamiclib
改為 SHARED_LDFLAGS=-arch armv6 -dynamiclib

找 PEX_LIBS= -Wl, -search_paths_firstxc
改為 PEX_LIBS= -Wl


Step 4:
修改代碼
本來完成以上Step已經可以進行Compile
不過這樣會有error發生,所以要修改代碼
開啟 "代碼文件夾/crypto/ui/ui_openssl.c" 這個檔案
找
static volatile sig_atomic_t intr_signal;
改成
static volatile int intr_signal;


Step 5:
Build Lib
完成Step 4之後,
就可以行makefile Build Libraries
make
make install

2010年11月2日 星期二

第二隻iPhone Game作品《國士無雙~亂世英雄篇~》 廣東13張麻雀 x 三國亂世

新作推介:
100%香港制作, 由 Adventure Hong Kong 開發 及由 PICK Technology Limited 提供廣東麻雀遊戲Engine. 三國 x 廣東麻雀遊戲 >> 國士無雙~亂世英雄篇~

下載連結:
http://itunes.apple.com/hk/app/id399449096



遊戲特色
● 正宗廣東麻將,三國入局
十三張的麻將,八隻花,正宗廣東牌規則特色,以三國背景入局,誓要為您締造不一樣的麻將感官遊戲── 國士無雙!此麻將結合多達35款不同變化胡型,好讓您隨著自己拿到的手牌來發揮智慧, 盡情運用各種技巧,以最快、最強、最靈活的手段,搶供對手的領域,在麻雀台上一較高下!且看三國英雄,誰領風騷!

● 分數決勝負,層層升級
遊戲會一直記錄著玩家的成就和排行,隨時可以秀給朋友看自己吃了多少次的「大四喜」、「九子連環」、「十八羅漢」等等。並以累積經驗升級,一齊來打天下、以分數定江山吧!

● 中國風畫面,別具風格
整個遊戲的畫面構圖以別具中國風的古雅風格呈現,使人眼前一亮。輕按麻將便會放大顯示,而其他碰上槓等常用指令,也製成大大的按鈕放到中間,讓您絕不會因點錯而叫冤。

黃巾之亂篇
東漢末年,皇帝年幼即位,親信宦官,疏遠忠臣,導致朝廷腐敗,百姓苦不堪言,張角創立太平道,聚眾起義,引發了亂世割據的局面......

討伐董卓篇
黃巾賊剿滅後,東漢元氣大損,靈帝駕崩,宦官專權。大將軍何進被殺,董卓掌握朝廷,殘害忠良。引起百姓和朝中大臣的憤怒......

下載連結: