2010-09-17 85 views
4

我需要导航栏左侧的两个按钮。我已经想出了如何做到这一点的唯一方法是首先将它们放入UIToolbar,然后将leftBarButtonItem设置为该位置。如果在工具栏中点击,UIBarButtonItem不会突出显示?

如果我这样做,它的工作原理是正常的(你可以看到它突出挖掘时):

UIBarButtonItem* myBtn = [[UIBarButtonItem alloc] initWithTitle:@"Button" style:UIBarButtonItemStyleBordered target:self action:@selector(doSomething:)]; 

self.navigationItem.leftBarButtonItem = myBtn; 

但是,如果我不喜欢这样,按钮动作仍然发生,但没有亮点(无视觉反馈,您正在点击该按钮):

NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:2]; 

UIBarButtonItem* myBtn = [[UIBarButtonItem alloc] initWithTitle:@"Button" style:UIBarButtonItemStyleBordered target:self action:@selector(doSomething:)]; 

UIBarButtonItem* myBtn2 = [[UIBarButtonItem alloc] initWithTitle:@"Button2" style:UIBarButtonItemStyleBordered target:self action:@selector(doSomethingElse:)]; 

[buttons addObject:myBtn]; 
[buttons addObject:myBtn2]; 

UIToolbar* toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 133, 44)]; 
[toolbar setItems:buttons animated:NO]; 
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:toolbar]; 

任何想法为什么这会导致按钮在触摸时不突出显示?

回答

0

我不认为UIBarButtonItem对象会在触摸时突出显示。即使是在导航栏中的默认后退按钮剂量突出显示时。它只能以这种方式工作。不知道,但你可以尝试使用单段的UISegmentedControl。它可能会产生突出的错觉,只会看起来像barbutton。