我有一个想要在UIBarButtonItem上显示的图像,但由于某种原因它只显示它的轮廓,其余的都是白色的.我怎么能让它实际显示图像?
谢谢!
嗨朋友是iphone开发的新手.我很难在右侧的UIBarbutton项目上添加徽章值.我试过但我无法解决这个问题.谁能帮我.
提前致谢!
如何删除自定义左右UINavigationBar项目左侧和右侧的水平填充?iOS默认设置似乎有~10个填充点.
我正在自定义左右导航栏按钮(我已经放弃尝试设置自己的backButtonItem,所以我只是使用leftBarButtonItem).
在任何一种情况下(左或右),按下这些自定义按钮表示Apple似乎在leftBarButtonItem的左侧和rightBarButtonItem的右侧保留了一些填充; 无论我使用UIButton的自定义背景和图像属性的宽度,我将其放置在左/右栏按钮项目内作为其自定义视图.
由于UIBarButtonItems没有我可以访问的"框架",我无法将它们放在超级视图中,就像我可以正常的UIViews一样.
有关如何删除此默认填充的任何建议?请参阅附加的屏幕截图,看看我正在尝试将其缩小到零宽度.在屏幕截图中,加号图标显示为向右移动,因为我给了它一个插图; 但突出显示的背景图像,也可能是使用插图,正在右侧修剪.
请参见图片:https://skitch.com/starbaseweb/rj2e5/ios-simulator
作为参考,这是我如何创建我的自定义UIBarButtonItem(在这种情况下,它是正确的按钮):
- (UIBarButtonItem *)customAddButtonItemWithTarget:(id)target action:(SEL)action {
UIButton *customButtonView = [UIButton buttonWithType:UIButtonTypeCustom];
customButtonView.frame = CGRectMake(0.0f, 0.0f, 45.0f, 44.0f);
[customButtonView setBackgroundImage:
[UIImage imageNamed:@"bgNavBarButton-OutsideRight-Normal.png"]
forState:UIControlStateNormal];
[customButtonView setBackgroundImage:
[UIImage imageNamed:@"bgNavBarButton-OutsideRight-Highlighted.png"]
forState:UIControlStateHighlighted];
[customButtonView setImage:
[UIImage imageNamed:@"bgNavBarButton-Add-Normal.png"]
forState:UIControlStateNormal];
[customButtonView setImage:
[UIImage imageNamed:@"bgNavBarButton-Add-Highlighted.png"]
forState:UIControlStateHighlighted];
[customButtonView addTarget:target action:action
forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *customButtonItem = [[[UIBarButtonItem alloc]
initWithCustomView:customButtonView] autorelease];
[customButtonView setImageEdgeInsets:UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 0.0f)];
//customButtonItem.imageInsets = UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 0.0f);
return customButtonItem;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用UIAppearance将字体应用于UINavigationBar和UIBarButtonItem,我遇到了问题.我运行了这段代码:
[[UIBarButtonItem appearanceWhenContainedIn:[UIToolbar class], nil]
setTitleTextAttributes:
@{NSFontAttributeName : [UIFont fontWithName:@"My_Font" size:17.0]}
forState:UIControlStateNormal];
NSLog(@"%@", [[UIBarButtonItem appearanceWhenContainedIn:
[UIToolbar class], nil] titleTextAttributesForState:UIControlStateNormal]);
Run Code Online (Sandbox Code Playgroud)
并且iOS 7上的日志结果是:
(null)
Run Code Online (Sandbox Code Playgroud)
iOS 6中的结果是:
{
NSFont = "<UICFFont: 0x1d897a80> font-family: \"My_Font\"; font-weight: normal; font-style: normal; font-size: 17px";
}
Run Code Online (Sandbox Code Playgroud)
我在iOS 7文档中找不到任何表明这不起作用的内容,有其他人有这个问题吗?
编辑1
我实际上已经解决了[UINavigationBar appearance]这个问题,我将点大小设置为0,以便将字体设置为默认的navbar/barButtonItem大小,如NSString UIKit Additions Reference中所述,但这显然不再适用于iOS 7.相反,将磅值设置为0将返回系统字体.
我仍然无法设置titleTextAttributes到
[UIBarButtonItem appearanceWhenContaintedIn:[UIToolbar class], nil]]
当我尝试使用UIBarButtonItem的"initWithImage"来初始化导航栏自定义图像时,它会被冲洗并在黑色导航栏上拉伸.这是我创建它的方式:
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"gear.png"] style:UIBarButtonItemStyleBordered target:self action:@selector(showSetting:)];
Run Code Online (Sandbox Code Playgroud)
这是它的样子:

不知道图像是否有问题?我是从我买的一套图标中得到的.
为什么图标info.png保持蓝色并且没有附带该图像的原始颜色?我使用以下代码:
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"info.png"]
style:UIBarButtonItemStylePlain
target:self
action:@selector(info:)];
Run Code Online (Sandbox Code Playgroud) 我的视图中有一个现有的工具栏...当我将"条形按钮项目"拖动到工具栏时,它会被撞到工具栏的左侧(我希望它位于右边缘).试图拖动条形按钮只会导致它"重力拍打"回到左侧.我在尺寸检查器中看不到任何内容,只允许我将其对齐到工具栏的右边缘.BarButton宽度可以改变,但似乎没有别的.任何人都可以请你告诉我如何将它移到右边?
我将承认我对观看CS193p讲座视频所收集的Xcode /故事板有新的/基本的了解(或缺乏)(但我无法重新定位描述工具栏或相关文档中的定位的讲座......链接会受到欢迎.)
我创建了一个导航栏http://oi61.tinypic.com/r0p8w4.jpg,从故事板,titleView和代码中的三个右键按钮项添加了左栏按钮项.
这是代码:
override func viewDidLoad() {
super.viewDidLoad()
var screenWidth = UIScreen.mainScreen().bounds.width
// custom title view
var navBarWidth: CGFloat = self.navigationController!.navigationBar.frame.size.width
let customTitleView = UIView(frame: CGRectMake(0, 0, navBarWidth, 44))
titleLabel = UILabel(frame: CGRectMake(20, 0, navBarWidth, 40))
titleLabel.text = conversationName
if let titleFont = UIFont(name: "Roboto-Regular", size: 20) {
titleLabel.font = titleFont
}
titleLabel.textColor = UIColor.whiteColor()
customTitleView.addSubview(titleLabel)
self.navigationItem.titleView = customTitleView
// right bar buttons
var searchImage = UIImage(named: "search")!
var clipImage = UIImage(named: "clip")!
var pencilImage = UIImage(named: "pencil")!
var …Run Code Online (Sandbox Code Playgroud) 如何在导航栏中创建多个栏按钮?
我在导航项中添加了一个右栏按钮项,并希望在某些条件下删除它.这就是我在做的事情:
self.navigationItem.rightBarButtonItem = nil;
Run Code Online (Sandbox Code Playgroud)
但没有得到理想的行为.
我想隐藏它,但没有找到任何方法.
uibarbuttonitem ×10
ios ×5
iphone ×4
objective-c ×4
xcode ×2
badge ×1
cocoa-touch ×1
ios5 ×1
ios7 ×1
ipad ×1
storyboard ×1
swift ×1
uiappearance ×1
uikit ×1
uitoolbar ×1