Tag: uibarbuttonitem

自定义UINavigationBar与自定义高度导致UIBarButtonItem被定位错误

我创build了自己的UINavigationBar的子类,以便启用高于44像素的自定义背景。 我通过覆盖这两种方法来做到这一点: -(void) drawRect:(CGRect)rect { [self.backgroundImage drawInRect:CGRectMake(0, 0, self.backgroundImage.size.width, self.backgroundImage.size.height)]; } – (CGSize)sizeThatFits:(CGSize)size { CGRect frame = [UIScreen mainScreen].applicationFrame; CGSize newSize = CGSizeMake(frame.size.width , self.backgroundImage.size.height); return newSize; } 这就是结果: 现在,我们可以看到的问题是,所有UIBarButtonItem(和titleView)都放置在导航栏的底部。 我希望他们被固定到酒吧的顶部(当然有一些填充)。 我需要重写什么来实现呢? 谢谢! 编辑: 这是我使用的解决scheme: -(void) layoutSubviews { [super layoutSubviews]; for (UIView *view in self.subviews) { CGRect frame = view.frame; frame.origin.y = 5; view.frame = […]

如何在导航栏的右侧添加多个UIBarButtonItems?

我想在UINavigationBar的右边有更多的UIBarButtonItem 。 我怎样才能做到这一点? 我正在尝试的示例如下所示 – 您可以注意到右上angular有多个button。

将UIImage设置为UIBarButton项目

我似乎无法添加图像到这个UIBarButtonItem没有碰撞碰撞时: UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil]; self.navigationItem.backBarButtonItem = backButton; [backButton release]; 这个代码添加了一个图像,但是当它被触摸时,由于UIButton的UIBarButtonItem *分配的不兼容的指针types,它会崩溃: //Setup Custom Button UIButton *button = [[UIButton alloc] init]; button.frame = CGRectMake(0,0,44,44); // [button addTarget:self action:@selector(showInfo) forControlEvents:UIControlEventTouchUpInside]; self.navigationItem.backBarButtonItem = button; [button setBackgroundImage:imgIcon forState:UIControlStateNormal]; self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:button] autorelease]; [button release]; 谢谢你的帮助

在UINavigationbar中显示计数器等通知标志

我需要在iPhone导航栏中显示未决通知的数量。 外观应该像通知徽章的外观 – 但这些不是APNS通知。 他们是从私人服务器发送类似的目的。 我试图在我的UINavigationbar添加一个右/左button( UIBarButtonItem ),但是它看起来好像非常僵硬。 我不能设置它的宽度,字体等。看我的代码: self.notifButton = [[UIBarButtonItem alloc] initWithTitle:@"0" style: UIBarButtonItemStyleBordered target:self action:@selector(TouchNotif)]; NSMutableArray *items = [[NSMutableArray alloc] init]; [items addObject:self.notifButton]; self.navigationItem.rightBarButtonItems = items; 由于其他2个项目也添加到项目数组,navbar杂乱无章。 他们的字体,宽度等我不能玩,或者我不知道我应该如何创build它们。 我的问题: 1)在导航栏右侧区域至less容纳3个项目的正确方法是什么? 我问这是因为我没有find一种方式来使用我使用的UIButtons宽度和字体。 2)如果我想为我的通知button自定义外观(就像通知徽章) – 有没有任何指针我怎么做? 要使用哪个控件,如何设置UINavigationBar允许的框架和字体? 请帮忙。

更改UINavigationController后退button的颜色

我在试图找出如何更改导航控制器上button的颜色时遇到问题。 以前我曾经使用过: [[UIBarButtonItem appearance] setTintColor:[UIColor colorWithRed:226/255.0 green:66/255.0 blue:66/255.0 alpha:0.0]]; 这工作,但我添加了一个工具栏的新视图,工具栏button图像不会显示。 如果我删除全局着色,工具栏项目显示很好。 我已经尝试在视图的viewDidLoad方法的leftBarButtonItem和backBarButtonItem上设置色调颜色,但是这两个属性都显示为空。 我不想改变整个导航栏的颜色,只是button。 有没有办法做到这一点?

以编程方式从UIBarButtonItem继续

我有三个视图控制器,每个都在导航栏的右侧和左侧各有两个button,如下面其中一个所示。 我以编程方式创build这些button,而不是编写代码在每个相应的视图控制器(VC),我决定写一个助手类,创buildbutton。 // Note: I am using FontAwesome as a third-party library. class Helper: NSObject { static func loadNavBarItems(vc: UIViewController) { let profileButton = UIBarButtonItem() let addButton = UIBarButtonItem() let attributes = [NSFontAttributeName: UIFont.fontAwesome(ofSize: 20)] as [String: Any] profileButton.setTitleTextAttributes(attributes, for: .normal) addButton.setTitleTextAttributes(attributes, for: .normal) profileButton.title = String.fontAwesomeIcon(name: .userCircle) addButton.title = String.fontAwesomeIcon(name: .plus) vc.navigationItem.leftBarButtonItem = profileButton […]

为什么我得到一个UIBarButtonItem定制警告?

我有一个简单的故事板,在一个导航视图控制器内的表视图,从表视图推动到另一个具有全屏图像视图的视图控制器。 表格视图在其导航栏中有一个提示文字。 当我点击表格视图中的表格视图单元格时,我收到下面的警告。 我没有定制后退button。 我创build了一个示例项目来显示这个问题。 https://github.com/stevemoser/UIBarButtonItemCustomizationWarningExampleProject 任何人都有一个想法,为什么我收到这个警告? UIBarMetricsDefaultPrompt或UIBarMetricsLandscapePhonePrompt的后退button背景图像的UIBarButtonItem自定义被忽略

导航栏button图像不显示在Swift中

我又回来了 我正在使用Xcode 7在Swift中编写一个应用程序。我已经添加了一个导航控制器,然后添加了一个导航项目,然后是一个栏button。 我试图将barbutton的图像更改为我已经导入到Xcode中的png。 但是,它只是在devise中显示了这一点,当我运行应用程序。 它只是在导航区域显示一个蓝色的污迹。 我已经尝试将图像导入到项目中,也导入到images.xcassets具有相同的结果。 有人知道这里可能是错的吗? 这是我一直试图添加的图片和我目前拥有的设置。 设置:

如何显示UINavigationController的RootViewController上的button?

这是我的代码。 我想在开始的rootviewController上放一个后退button。 – (void)selectSurah:(id)sender { SurahTableViewController * surahTableViewController = [[SurahTableViewController alloc] initWithNibName:@"SurahTableViewController" bundle:nil]; surahTableViewController.navigationItem.title=@"Surah"; surahTableViewController.navigationItem.backBarButtonItem.title=@"Back"; UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:surahTableViewController]; [self presentModalViewController:aNavigationController animated:YES]; }

使用customView的UIBarButtonItem类似于Flexible-Space项目

我有一个UIBarButtonItem有一个UITextField作为它的customView。 工具栏包含这个项目和几个button。 当工具栏resize时(比如在设备方向上的改变),我想让UITextField增大或缩小(宽度)以占据工具栏中的所有可用空间。 不知道工具栏中所有button的组合大小,然后适当地设置UITextField宽度,是否有一种神奇的方式来使这个项目像一个灵活的空间栏项目?