gpt4 book ai didi

iphone - UIBarButtonItem:setBackgroundVerticalPositionAdjustment 不能正常使用自定义按钮

转载 作者:搜寻专家 更新时间:2023-10-30 19:41:39 25 4
gpt4 key购买 nike

我有以下代码来自定义 UIBarButtonItem (locationButton) 的显示:

    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 中,因为我的 NavigationBar 比正常的高(使用 Appeareance 自定义)。

我正在使用方法 setBackgroundVerticalPositionAdjustment,正如您在代码中看到的那样。但是我的 UIBarButtonItem 根本不起作用,无论我在那里放置什么偏移量,按钮总是出现在靠近栏底部的位置(快照)。 但是,如果我使用具有普通样式的普通 UIBarButtonItem(我称为按钮的样式),我确实可以看到按钮的位置将如何改变 -20 的偏移量。很奇怪...有什么想法吗?

谢谢!

enter image description here

最佳答案

也许这样的事情对你有用:

UIView *rightView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 150, 30)]; //change this frame to counteract for your taller navbar
[rightView addSubview:locationButtonAux];
UIBarButtonItem *rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightView];
self.navigationItem.rightBarButtonItem = rightBarButtonItem;

希望对你有帮助

关于iphone - UIBarButtonItem:setBackgroundVerticalPositionAdjustment 不能正常使用自定义按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16444941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com