en

hi, it seems you are using microsoft internet explorer. it doesn't match web standard and causes problems browsing this site. please please please use mozilla firefox or google chrome instead. thank you!

zh

哦哦!您正在使用Internet Explorer 瀏覽器,它與我們的網頁標準並不相容,可能會導致畫面顯示不正常。
請改用 Mozilla Firefox 或者 Google Chrome 才能正常瀏覽本網站,謝謝!

5.18.2011

設定 UIPicker View 中文字屬性的方法

 

UIPicker View 除了能使用圖片來豐富選項以外,純文字選項透過修改屬性也是可以有很多變化,文字屬性包含文字大小、顏色與字型等等相關參數,本篇將只針對修改文字屬性做示範,如果對 UIPicker View 的設定方式還不是很了解可以參考此篇 UIPicker View 的基本設定方式

設定好該 UIPicker View 共有幾組選項與每一組選項中項目的數目之後,就可以參考下列的內建函式來設定文字屬性。

//內建函式印出圖片在Picker上
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {

    //設定符合PickerView的邊界
    CGRect theRect = CGRectMake(0.0, 0.0, [pickerView rowSizeForComponent:component].width, [pickerView rowSizeForComponent:component].height);

    //取得目前的選項項目
    UILabel *theLabel = (id)view;
    if (!theLabel) {
        theLabel = [[[UILabel alloc] initWithFrame:theRect] autorelease];
    }

    //設定文字大小
    [theLabel setFont:[UIFont boldSystemFontOfSize:36.0]];

    //置中
    [theLabel setTextAlignment:UITextAlignmentCenter];

    //顏色
    [theLabel setTextColor:[UIColor orangeColor]];

    //背景顏色
    [theLabel setBackgroundColor:[UIColor colorWithWhite:0.0 alpha:0.0]];

    //字型
    [theLabel setFont:[UIFont fontWithName:@"DFPWaWa-B5" size:36.0]];

    //文字內容
    theLabel.text = [text objectAtIndex:row];

    return theLabel;
}

上述程式碼演示了單一一組選項的 UIPicker View,倘若同時有多組選項則可以透過變數 component 來辨別目前是那一組選項,而變數 row 則可以辨別目前是該組選項中的哪一個項目。

有關字型設定的部份可以參考在 iOS 中使用其他字型的方法一文。





沒有留言:

張貼留言