Objective c 使用分段控件刷新UInavigationbar
我有一个使用分段控件更改的登录/注册页面。登录页面是通用页面,self.title=@“login”和bar item=login可发送登录请求。但是,当用户选择“注册分段”控件时,我想刷新导航栏以显示self.title=@“注册”和bar按钮=注册以发送注册请求。我在分段控件中使用了以下代码:Objective c 使用分段控件刷新UInavigationbar,objective-c,ios,uiview,uinavigationcontroller,uisegmentedcontrol,Objective C,Ios,Uiview,Uinavigationcontroller,Uisegmentedcontrol,我有一个使用分段控件更改的登录/注册页面。登录页面是通用页面,self.title=@“login”和bar item=login可发送登录请求。但是,当用户选择“注册分段”控件时,我想刷新导航栏以显示self.title=@“注册”和bar按钮=注册以发送注册请求。我在分段控件中使用了以下代码: if (segmentedControl.selectedSegmentIndex == 0) { UIBarButtonItem * sortButton = [[UIBa
if (segmentedControl.selectedSegmentIndex == 0)
{
UIBarButtonItem * sortButton = [[UIBarButtonItem alloc] initWithTitle:@"Login" style:UIBarButtonItemStyleBordered target:self action:@selector(LoginButton)];
self.navigationItem.rightBarButtonItem = sortButton;
[sortButton release];
self.title = @"Login";
}
else if (segmentedControl.selectedSegmentIndex == 1)
{
UIBarButtonItem * sortButton = [[UIBarButtonItem alloc] initWithTitle:@"Submit" style:UIBarButtonItemStyleBordered target:self action:@selector(Submit)];
self.navigationItem.rightBarButtonItem = sortButton;
[sortButton release];
self.title = @"Submit";
}
我也有分段控制设置和工作:
- (IBAction)segmentSwitch:(id)sender
{
UISegmentedControl *segmentedControl = (UISegmentedControl *) sender;
NSInteger selectedSegment = segmentedControl.selectedSegmentIndex;
if (selectedSegment == 0)
{
//toggle the correct view to be visible
[firstView setHidden:NO];
[secondView setHidden:YES];
}
else
{
//toggle the correct view to be visible
[firstView setHidden:YES];
[secondView setHidden:NO];
}
}
安迪的帮助将不胜感激。谢谢。假设第一个代码块位于
viewDidLoad
方法中,您需要更改UIViewController
,以便在UISegmentedControl
的值更改时更改标题和按钮。换句话说,尝试将第一块代码移动到分段开关:
方法
代码不工作的原因是
viewDidLoad
只被调用一次,因此第一个代码块只执行一次,而您希望每次用户选择新的段时都执行它。第一个代码块在哪里?是否在UISegmentedControl
s目标中?代码的第一段是视图中的did加载。