Iphone 右对齐self.navigationItem setTitleView
我需要将navigationItem标题视图与最右侧对齐。(导航项RightBarButtonim通常出现的位置) 如何做到这一点 我已经试过了,但没有成功,它仍然将TitleView放在中心位置:Iphone 右对齐self.navigationItem setTitleView,iphone,ios,xcode,Iphone,Ios,Xcode,我需要将navigationItem标题视图与最右侧对齐。(导航项RightBarButtonim通常出现的位置) 如何做到这一点 我已经试过了,但没有成功,它仍然将TitleView放在中心位置: CGRect titleViewPos = CGRectMake(300, 0, 200, 10); self.navigationItem.titleView.frame = titleViewPos; 您将得到如下输出: 您将得到如下输出: 只是一个想法: UIButton *btn =
CGRect titleViewPos = CGRectMake(300, 0, 200, 10);
self.navigationItem.titleView.frame = titleViewPos;
您将得到如下输出:
您将得到如下输出:
只是一个想法:
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(300, 0, 200, 10);
[btn setTitle:@"titleView" forState:UIControlStateNormal];
self.navigationItem.titleView = btn;
只是一个想法:
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(300, 0, 200, 10);
[btn setTitle:@"titleView" forState:UIControlStateNormal];
self.navigationItem.titleView = btn;
您需要将UIElement(UIView,UILabel)传递给导航项,然后您可以设置位置并使用导航标题或左键或右键进行其他自定义。
这可能会对您有所帮助。您需要将UIElement(UIView,UILabel)传递给导航项,然后您可以设置位置并使用导航标题或左键或右键进行其他自定义。
这可能会对你有所帮助。试试这一个,可能已经用完了
UILabel *lbNavTitle = [[UILabel alloc] initWithFrame:CGRectMake(0,40,320,40)];
lbNavTitle.textAlignment = NSTextAlignmentRight;
lbNavTitle.backgroundColor = [UIColor clearColor];
lbNavTitle.text = @"hello World";
self.navigationItem.titleView = lbNavTitle;
试试这个,可能已经用完了
UILabel *lbNavTitle = [[UILabel alloc] initWithFrame:CGRectMake(0,40,320,40)];
lbNavTitle.textAlignment = NSTextAlignmentRight;
lbNavTitle.backgroundColor = [UIColor clearColor];
lbNavTitle.text = @"hello World";
self.navigationItem.titleView = lbNavTitle;
titleview帧将自动调整,如果要获得此结果,可以尝试以下操作:
UILabel *titleLabel = [[UILabel alloc] initWithFrame:self.navigationController.navigationBar.frame];
[titleLabel setTextAlignment:UITextAlignmentRight];
[titleLabel setText:@"Your title"];
[titleLabel setBackgroundColor:[UIColor clearColor]];
[titleLabel setTextColor:[UIColor whiteColor]];
self.navigationItem.titleView = titleLabel;
注意:确保不要设置视图控制器的self.title,否则将覆盖titleView
另一种解决方案是将标题标签放入UIBarButtonItem(customView)中,并将其设置为self.navigationItem.rightBarButtonItem,这样您就不需要设置文本对齐方式,标签的框架可以是正确的文本大小标题视图框架会自动调整,如果要获得此结果,可以尝试以下方法:
UILabel *titleLabel = [[UILabel alloc] initWithFrame:self.navigationController.navigationBar.frame];
[titleLabel setTextAlignment:UITextAlignmentRight];
[titleLabel setText:@"Your title"];
[titleLabel setBackgroundColor:[UIColor clearColor]];
[titleLabel setTextColor:[UIColor whiteColor]];
self.navigationItem.titleView = titleLabel;
注意:确保不要设置视图控制器的self.title,否则将覆盖titleView
另一种解决方案是将标题标签放入UIBarButtonItem(customView)中,并将其设置为self.navigationItem.rightBarButtonItem,这样您就不需要设置文本对齐方式,标签的框架可以是正确的文本大小这些都不适合我。我接受了Desdanova的建议,只是添加了一个子视图。有道理,因为这就是全部!使用所需的任何帧位置初始化它,然后
[self.view addSubView:lbl];
瞧 这些对我都不管用。我接受了Desdanova的建议,只是添加了一个子视图。有道理,因为这就是全部!使用所需的任何帧位置初始化它,然后
[self.view addSubView:lbl];
瞧 然后添加为子视图。然后添加为子视图。