我有下面的代码,以自定义的UIBarButtonItem(locationButton)的显示:的UIBarButtonItem:setBackgroundVerticalPositionAdjustment不与自定义按钮正常工作
UIButton *locationButtonAux = [UIButton buttonWithType:UIButtonTypeCustom];
[locationButtonAux setFrame:CGRectMake(0, 0, LOCATION_BUTTON_WIDTH, LOCATION_BUTTON_HEIGHT)];
[locationButtonAux setBackgroundImage:[UIImage imageNamed:@"location_button.png"] forState:UIControlStateNormal];
[locationButtonAux setBackgroundImage:[UIImage imageNamed:@"location_button.png"] forState:UIControlStateHighlighted];
[locationButtonAux addTarget:self action:@selector(userLocation) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *locationButton = [[UIBarButtonItem alloc] initWithCustomView:locationButtonAux];
UIBarButtonItem * item = [[UIBarButtonItem alloc] initWithTitle:@"title"
style:UIBarButtonItemStyleDone
target:nil action:@selector(someMssage)];
[locationButton setBackgroundVerticalPositionAdjustment:-20.0 forBarMetrics:UIBarMetricsDefault];
self.navigationItem.rightBarButtonItem = locationButton;
我想调整这个按钮进入导航栏的位置,因为我的NavigationBar比正常高(使用Appeareance进行自定义)。
我使用方法setBackgroundVerticalPositionAdjustment,就像你在代码中看到的那样。但是根本不用我的UIBarButtonItem,不管我放在那里的偏移量是多少,按钮总是出现在靠近条的底部(快照)的位置。 但是,如果我使用普通样式(我称之为按钮)的普通UIBarButtonItem,我可以看到按钮的位置将如何改变-20的偏移量。很奇怪...任何想法?
谢谢!
看一看http://stackoverflow.com/a/16442006/1328096它将帮助你完全.. – jamil 2013-05-08 17:48:19
一个永远不会接受答案的提问者(checkmark)没有提供很多动力让人们花时间帮助他。 – matt 2013-05-10 04:02:02