如何更改导航栏标签位置(框架)?

时间:2012-06-03 07:38:26

标签: iphone ios xcode cocoa uinavigationbar

我需要它左对齐。或者没有办法,我需要添加自定义标签?

4 个答案:

答案 0 :(得分:1)

将其添加到左侧按钮项目:

UIView *mCustView = [[UIView alloc] initWithFrame:CGRectMake(0,0,200,20)];

mCustView.backgroundColor = [UIColor redColor];

UILabel *mTextLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,0,200,20)];

mTextLabel.backgroundColor = [UIColor blueColor];

mTextLabel.font = [UIFont systemFontOfSize:20];

mTextLabel.textColor = [UIColor blackColor];

mTextLabel.text = @"Random text tested here, so sit back and enjoy";

[mCustView addSubview:mTextLabel];

[mTextLabel release];


UIBarButtonItem *mCustomBarItem = [[UIBarButtonItem alloc] initWithCustomView:mCustView];

self.navigationItem.leftBarButtonItem = mCustomBarItem; 

[mCustView release];

答案 1 :(得分:0)

您需要将自定义视图添加到导航栏的-titleView

self.navigationItem.titleView = someLabel;

答案 2 :(得分:0)

我认为你可以使用UIBarButtonSystemItemFixedSpace提供一种在导航栏中添加固定填充的方法:

UIBarButtonItem *fixedSpaceItem = [[[UIBarButtonItem alloc]
                                    initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
                                    target:nil
                                    action:NULL]
                                   autorelease];
fixedSpaceItem.width = 50;
UIBarButtonItem *cancelItem = [[[UIBarButtonItem alloc]
                                initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
                                target:nil
                                action:NULL]
                               autorelease];
// vc is some view controller
vc.navigationItem.leftBarButtonItems = [NSArray arrayWithObjects:
                                        fixedSpaceItem,
                                        cancelItem,
                                        nil];

这将右键缩进“取消”按钮50分。

答案 3 :(得分:0)

我自己找到了解决方案:

float offset = 210.0f;

UIToolbar* tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, offset, 44.01)];

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:tools];

[tools release];