我不确定我在这里失踪了什么.我有一个自定义UINavigationController,我试图添加持久性UIBarButtonItem的酒吧.
-(void)viewDidLoad
{
self.navigationBar.barStyle = UIBarStyleBlack;
UIBarButtonItem *bbi = [[UIBarButtonItem alloc] initWithTitle:@"Nope..."
style:UIBarButtonItemStyleBordered
target:self
action:@selector(goBack:)];
self.navigationItem.leftBarButtonItem =bbi;
[bbi release];
}
-(void)goBack:(id)sender
{
NSLog(@"go back now");
}
我在这里失踪了什么? - 顺便说一句,我不想/不会使用IB.
更新:目前这是我能得到的最接近的:
-(void)viewDidLoad
{
self.navigationBar.barStyle = UIBarStyleBlack;
UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 20, 320, 44)];
navBar.barStyle = UIBarStyleBlack;
UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:@"Currently Playing..."];
[navBar pushNavigationItem:navItem animated:NO];
UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithTitle:@"Close" style:UIBarButtonItemStyleBordered target:self action:@selector(goBack:)];
navItem.rightBarButtonItem = editButton;
[self.view addSubview:navBar];
[editButton release];
[navItem release];
[navBar … 我有一个工具栏,我想让一个UIBarButtonItem中心,另一个在右边.但是当我在右边添加按钮时,我的居中按钮会进一步向左移动(参见附件).我不明白如何在不使用代码的情况下解决这个问题(我只想使用界面构建器).有任何想法吗?

我有一个tableview,其中一个单元格应该显示缩略图.但是,如果图像不可用(没有被考虑还),我会LIKE用于细胞的accessoryView的显示相机的UIBarButtonItem ......但是当我尝试我通常的做法得到"不兼容类型的警告.有没有办法在导航栏外使用这些项目?
我试图在我的应用程序中偏移UIBarButtonItems,我需要它们稍微偏移,因为我用于导航栏的图像所以它们都正确排列.我设法做到这样:
[[UINavigationBar appearance] setTitleVerticalPositionAdjustment:-3 forBarMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackgroundVerticalPositionAdjustment:-3 forBarMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonBackgroundVerticalPositionAdjustment:-3 forBarMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)
我有两个疑问.
这会停止按钮具有任何突出显示的状态,它们可以正常工作,但不会明显地按下按钮.无论如何围绕这个?
更重要的是,这可以很好地在我的导航栏中向上推动我的按钮,但是它会将它们推到我的工具栏以及屏幕底部我需要相反的位置,实际上将它们向下推了一下.我怎么处理这个?
任何帮助总是赞赏,谢谢.
iphone objective-c uinavigationbar uitoolbar uibarbuttonitem
我试图删除左UIBarButtonItem背景的背景.
我的图像只是带有线条的图标.但是有黑色背景.我的代码是:
paneViewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"menuicon"] style:UIBarButtonItemStylePlain target:self action:@selector(navigationPaneBarButtonItemTapped:)];
paneViewController.navigationItem.leftBarButtonItem.tintColor = [UIColor clearColor];
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
更新:
UIImage *myImage = [UIImage imageNamed:@"menuicon"];
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
[myButton setImage:myImage forState:UIControlStateNormal];
myButton.showsTouchWhenHighlighted = YES;
myButton.frame = CGRectMake(0.0, 0.0, myImage.size.width, myImage.size.height);
[myButton addTarget:self action:@selector(navigationPaneBarButtonItemTapped:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *leftBarButton = [[UIBarButtonItem alloc] initWithCustomView:myButton];
paneViewController.navigationItem.leftBarButtonItem = leftBarButton;
Run Code Online (Sandbox Code Playgroud)
这对我有用.谢谢
所以我有一个UIToolbar上有4个UIBarButtonItems(其中2个是灵活空间),中间的是Style:Plain,标题设置为"Settings",然后最右边的按钮是一个'Done'按钮来关闭视图.
一切看起来都很好,按照我想要的方式工作,除了中间的文字按钮是"可点击"的,当你点击它时什么都不做,但是一旦触摸它就会在文本周围出现白色的光晕.
使用UIBarButtonItem获得的唯一选项是"Enabled",如果关闭则会使文本显示为灰色.
通过创建UILabel并将其作为子视图添加到UIToolbar,我几乎可以模拟它的外观,但我想知道是否有更简单的方法来执行此操作.
谢谢
我正在尝试将图像放到UI导航栏上,并面对一些色调问题.图像是40*40,具有透明度(png).
图像在xcode中看起来像这样:

当我作为UI栏按钮项的图像放置时,它显示为:

注意颜色是如何变化的.该应用程序的默认颜色为棕色,因此默认的色调是闪亮的.
如何显示图像的原始颜色?
谢谢
编辑:
宽高比问题:

我无法在我的AppDelegate中快速解决问题.我一直在研究这个小问题几周(在后台,而不是连续),有很多谷歌搜索.我肯定错过了什么.
当远程通知进入我的iOS应用程序时,我想使用带有"后退"按钮的UINavigationController以模态方式显示适合该消息的视图.这个想法是,当用户完成处理通知后,他们可以按"返回"并返回原来的位置.我无法以编程方式在导航控制器中显示"后退"按钮.
并非所有现有视图都嵌入在导航控制器中.因此,我没有在堆栈中找到现有的UINavigationController,而是创建了一个新的UINavigationController,并尝试将其设置为如下所示:
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
var mvc = mainStoryboard.instantiateViewControllerWithIdentifier("MyViewIdentifier") as! MySpecialViewController
/* here is where I setup the necessary variables in the mvc view controller, using data from the remote message. You don't need to see all that */
/* this seems to work, I do get what looks to be a navigation controller */
let newNavController = UINavigationController(rootViewController: mvc)
/* this part doesn't work, I don't get a "Back" button */
let btn …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的UIBarButtonItem添加徽章,为此我找到了一个这样的github:
但我不知道如何使用它.
这是我的自定义UIBarButtonItem的代码:
let shopingCartBTN = UIButton(type: UIButtonType.Custom)
shopingCartBTN.setImage(UIImage(named: "shopingCarBarIcon"), forState: UIControlState.Normal)
shopingCartBTN.imageView?.image = UIImage(named: "shopingCarBarIcon")
shopingCartBTN.frame = CGRectMake(0, 0, 60, 30)//Just increase the width of button
shopingCartBTN.setTitle("5", forState: .Normal)
shopingCartBTN.addTarget(self, action: "", forControlEvents: UIControlEvents.TouchUpInside)
let customBarItem = UIBarButtonItem(customView: shopingCartBTN)
self.navigationItem.leftBarButtonItem = customBarItem;
Run Code Online (Sandbox Code Playgroud)
我如何使用MIBadgeButton-Swift为我的UIBarButtonItem制作徽章?
在viewDidload方法中,我已经声明了一个按钮并设置了RightBarButton ...
let btnFavourite = UIButton(frame: CGRectMake(0,0,30,30))
btnFavourite.addTarget(self, action: "btnFavourite:", forControlEvents: .TouchUpInside)
btnFavourite.setImage(UIImage(named: "star"), forState: .Normal)
btnFavourite.setImage(UIImage(named: "star_filled"), forState: .Highlighted)
let rightButton = UIBarButtonItem(customView: btnFavourite)
self.navigationItem.setRightBarButtonItems([rightButton], animated: true)
Run Code Online (Sandbox Code Playgroud)
如何从图像'star.png'按下按钮然后更改为'star_filled.png'?然后按'star_filled.png'中的按钮到'star.png'?
如何使两个功能像
func btnFavourite()
{
//clicked the favourite button then image change to star_filled.png
}
fun btnUnfavourite()
{
//clicked the button then the bar button image change to star.png
}
Run Code Online (Sandbox Code Playgroud) uibarbuttonitem ×10
ios ×7
iphone ×4
objective-c ×3
swift ×3
uitoolbar ×3
alignment ×1
button ×1
center ×1
image ×1
uiimage ×1
uitableview ×1