Copyright (C) iPhoneアプリ開発備忘録 All rights reserved.
ブログ内で記したコード、内容の正確性は保証いたしません。
記載内容を実装したことにより発生した不具合・損害等の責任は一切負いません。



2013年09月21日

iOS7でNavigation Bar の rightBarButtonItem に設定する UIButtonの位置を調整する



[2014/3/11 追記] 本記事に記載する現象はiOS7.1で修正されたので、本記事はiOS7.1より前のバージョンのiOS7での対策となる。

iOS7.0.xでは、Navigation Bar にUIButtonを設置した場合、iOS6以前のコードではタイトル部分がNavigation Barの縦方向にセンタリングされない現象が起きるようになった。
また、フォント属性などを明示的に設定しないと、タイトル文字が表示されない。


UIButton *addBottun = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 41, 27)];
[addBottun setTitle:@"新規" forState:UIControlStateNormal];
[addBottun addTarget:self action:@selector(add) forControlEvents:UIControlEventTouchUpInside];
addBottun.backgroundColor = [UIColor clearColor];
[addBottun setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
addBottun.titleLabel.font = [UIFont fontWithName:@"AppleGothic" size:14];
addBottun.contentEdgeInsets = UIEdgeInsetsMake(5, 0, 0, 0);

UIButtonは、contentEdgeInsetsプロパティによりタイトル文字を下方向にずらして微調整する。
UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)


UIBarButtonItem *cameraButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonSystemItemCamera target:self action:@selector(cameraAction)];
cameraButtonItem.imageInsets = UIEdgeInsetsMake(-30, 20, 0, 0);

UIBarButtonItemは、imageInsetsプロパティにより微調整する。
UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)

タグ:IOS iPAD iPhone
posted by mobileDeveloper at 21:48 | Comment(0) | TrackBack(0) | UIButton はてなブックマーク - iOS7でNavigation Bar の rightBarButtonItem に設定する UIButtonの位置を調整する | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
Apple、Appleのロゴ、App Store、iPodのロゴ、iTunesは、米国および他国のApple Inc.の登録商標です。
iPhone、iPod touch、iPadはApple Inc.の商標です。
iPhone商標は、アイホン株式会社のライセンスに基づき使用されています。
その他、本ブログに記載されている製品名、会社名は、それぞれ各社の商標または登録商標です。