iOS 7上的反向箭头

时间:2013-12-19 17:59:14

标签: ios uinavigationbar uinavigationitem

我需要在我的应用程序中添加一个左侧栏按钮项,看起来像系统后退按钮,但不是系统后退按钮,因为它将出现在视图控制器上,这是我的navController堆栈的唯一vc并执行我自己的码。简单地写“回”对我来说并不是很好,因为我需要显示“<”箭头也是。有没有办法以编程方式创建这样的箭头,而不用该箭头制作图像?

This is how it's supposed to look like

4 个答案:

答案 0 :(得分:11)

您可以使用任何Unicode字符(代码中的任何位置)。

你可以在这里找到你想要的东西:

  

Xcode>编辑>特殊字符......

搜索arrowback或浏览类别 然后复制粘贴所需的字符(在XIB对象的标题中或setTitlesetText方法中,就像任何其他字符一样

像这样的东西: enter image description here

答案 1 :(得分:4)

试试这个:

// After you create and place your backButton:

UILabel* arrowLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 10, 20, 20)];
arrowLabel.text = @"<";
arrowLabel.textColor = [backButton titleColorForState:UIControlStateNormal];
arrowLabel.transform = CGAffineTransformMakeScale(1,2);
[backButton addSubview:arrowLabel];

如果addSubview给您带来麻烦,请尝试

[backButton insertSubview:arrowLabel atIndex:0];

答案 2 :(得分:2)

考虑使用虚拟UIViewController作为UINavigationController堆栈的根视图控制器:

 [[UINavigationController alloc] initWithRootViewController:[UIViewController new]];
 [navController pushViewController:viewController animated:NO];

然后,您可以使用我的BackButtonHandler扩展程序处理后退按钮操作(如this thread中所述):

 -(BOOL) navigationShouldPopOnBackButton {
      [self dismissModalViewControllerAnimated:YES];
      return NO; 
 }

答案 3 :(得分:0)

查看UIBarButtonItem文档中的容器下的UIBarButtonSystemItem枚举:

https://developer.apple.com/library/IOs/documentation/UIKit/Reference/UIBarButtonItem_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40007519-CH3-SW2

这些是Apple提供的所有按钮样式:

typedef enum {
   UIBarButtonSystemItemDone,
   UIBarButtonSystemItemCancel,
   UIBarButtonSystemItemEdit,
   UIBarButtonSystemItemSave,
   UIBarButtonSystemItemAdd,
   UIBarButtonSystemItemFlexibleSpace,
   UIBarButtonSystemItemFixedSpace,
   UIBarButtonSystemItemCompose,
   UIBarButtonSystemItemReply,
   UIBarButtonSystemItemAction,
   UIBarButtonSystemItemOrganize,
   UIBarButtonSystemItemBookmarks,
   UIBarButtonSystemItemSearch,
   UIBarButtonSystemItemRefresh,
   UIBarButtonSystemItemStop,
   UIBarButtonSystemItemCamera,
   UIBarButtonSystemItemTrash,
   UIBarButtonSystemItemPlay,
   UIBarButtonSystemItemPause,
   UIBarButtonSystemItemRewind,
   UIBarButtonSystemItemFastForward,
   UIBarButtonSystemItemUndo,        // iOS 3.0 and later
   UIBarButtonSystemItemRedo,        // iOS 3.0 and later
   UIBarButtonSystemItemPageCurl,    // iOS 4.0 and later
} UIBarButtonSystemItem;

也许回放或撤消对你来说足够接近。