« 2008年9月 | トップページ

2008年10月

Interface BuilderでToolbarにラベルをつける

1_2

Apple Discussions に出てた方法。

1. Interface Builder でツールバーに View(UIView) をドラッグ&ドロップする。
2. さらにその上に Label(UILabel) をドラッグ&ドロップする。
3. 1.で貼付けた View の Attributes Inspector を開いて Background を選択し、Opacity を 0% にする。
4. テキストを適当に書き換える。

| | コメント (48) | トラックバック (0)

NavigationBarにMail.appのようなボタンを付ける

3
NavigationBarにMail.cppの次のメール/前のメールのようなボタンを付ける方法。

1. viewDidLoad内でUISegmentControlを生成する

- (void)viewDidLoad {
    NSArray *array = [NSArray arrayWithObjects:
        [UIImage imageNamed:@"up.png"]
        , [UIImage imageNamed:@"down.png"
        , nil];
    UISegmentControl *segmentControl = [UISegmentControl alloc] initWithItems:array];
    segmentControl.segmentControlStyle = UISegmentedControlStyleBar;
    // これをYESにすると、ボタンを押したときに選択されっぱなしにならない
    segmentControl.momentary = YES;
    [segmentControl addTarget:self action:@selector(changeItem:) forControlEvents:UIControlEventValueChanged];
    UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithCustomView:segmentControl];
    self.navigationItem.rightBarButtonItem = button;
    [segmentControl release];
    [button release];
}
pngファイルは自分で用意する必要があります。

2. ボタンを押されたときの処理を書く

- (IBAction)changeItem:(id)sender {
    UISegmentedControl *segmentControl = (UISegmentedControl *)sender;
    NSInteger selectedIndex = segmentedControl.selectedSegmentIndex;
    if (selectedIndex == 0) {
        // 前ボタンが押されたときの処理
    } else if (selectedIndex == 1) {
        // 次ボタンが押されたときの処理
    }
}

| | コメント (0) | トラックバック (0)

« 2008年9月 | トップページ