标签: uibarbuttonitem

UIBarButtonItem更改标题不起作用

如何更改UIBarButtonItem的标题?我有以下代码,在我的UINavigationBar上按下"编辑"按钮时调用该代码.

-(void)editButtonSelected:(id)sender {
    NSLog(@"edit button selected!");
    if(editing) {
        NSLog(@"notediting");
        [super setEditing:NO animated:NO];
        [tableView setEditing:NO animated:NO];
        [tableView reloadData];
        [rightButtonItem setTitle:@"Edit"];
        [rightButtonItem setStyle:UIBarButtonItemStylePlain];
        editing = false;
    }
    else {
        NSLog(@"editing");
        [super setEditing:YES animated:YES];
        [tableView setEditing:YES animated:YES];
        [tableView reloadData];
        [rightButtonItem setTitle:@"Done"];
        [rightButtonItem setStyle:UIBarButtonItemStyleDone];
        editing = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

"编辑"按钮正在改变颜色(因此设置样式的行正在工作),但是设置按钮标题的行不起作用.

uinavigationbar uibarbuttonitem ios

24
推荐指数
4
解决办法
3万
查看次数

iOS Autolayout和UIToolbar/UIBarButtonItems

我已经启用了自动布局在iOS视图,并有UIToolbar一个UISearchBarUISegmentControl载带的工具栏.我想要UISearchBar有一个灵活的宽度,所以我需要添加一个约束来强制这个,但从我可以告诉你不能添加约束到UIToolbar接口生成器中的项目.所有选项均已禁用.

AutoLayout我完成这个之前autoresizingmasks.

是否允许约束UIToolbars/UINavigationBars

使用autolayout时如何才能实现这一目标?

uitoolbar uibarbuttonitem ios autoresizingmask autolayout

23
推荐指数
3
解决办法
2万
查看次数

如何在iOS通用应用程序中对齐UIToolbar中的UIBarButtonItem?

我想在iOS通用应用程序中放置两个UIBarButtonItem实例UIToolbar,第一个项目位于工具栏的左边缘,第二个项目位于中心.但是,看起来这不能在Interface Builder中完成,因为自动布局不支持强制UIBarButtonItem类的约束,因为它不是来自的子类UIView.

请注意,我不想将第一个放在左边缘而第二个放在右边缘 - 我必须将第二个按钮放在中心位置.此外,我没有计划使用第三个按钮,以相等的间隔将它们对齐为左,中,右.

在故事板中是否仍然可以在这种情况下添加这种约束?我使用Xcode 6 beta 5.

xcode uibarbuttonitem ios autolayout swift

23
推荐指数
2
解决办法
3万
查看次数

如何调整UIToolbar实例包含的UIBarButtonItem的框架或垂直对齐?

UIBarButtonItems的水平定位没问题,我可以简单地用固定/灵活的空间物品填充空间.但是,我似乎无法垂直调整工具栏项.UIToolbar没有对齐属性,UIBarButtonItem无法设置其框架.

我需要这样做是因为我们使用了使用initWithImage创建的自定义图标和使用initWithBarButtonSystemItem创建的标准图标.自定义图标没有正确居中(它们向上偏移,相对于系统图标,它们正确居中),因此工具栏看起来很笨拙.

iphone vertical-alignment uitoolbar uibarbuttonitem

22
推荐指数
2
解决办法
1万
查看次数

在Windows中的UIDavigationController上的iOS rightBarButtonItem

我正试图rightBarButtonItemUINavigationViewController堆栈的第二个视图控制器上放置一个.

我正在创建并设置viewDidLoad我想要显示的视图控制器中的按钮.我的实际代码如下所示:

override func viewDidLoad() {
    super.viewDidLoad()
    menu_button_ = UIBarButtonItem(image: UIImage(named: "menu"),
        style: UIBarButtonItemStyle.Plain ,
        target: self, action: "OnMenuClicked:")

    self.navigationController!.navigationItem.rightBarButtonItem = menu_button_
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么?该按钮不会出现.

uibarbuttonitem uinavigationitem ios swift

22
推荐指数
2
解决办法
3万
查看次数

UIBarButtonItem图像未显示,而是显示图像大小的白色矩形,为什么?

无论我尝试初始化UIBarButtonItem的任何图像,它只是显示图像大小的白色背景.即使我在界面构建器中累了,结果也是一样的.所有这些图像与其他对象一起使用时效果很好.

我怎么解决这个?

iphone uitoolbar uibarbuttonitem

21
推荐指数
3
解决办法
1万
查看次数


带有多个按钮的导航栏

我有一个带左右按钮的导航栏,我需要在右键旁边放另一个按钮.有谁知道我怎么能这样做?以下是一些有用的代码:

- (id)init {
    self = [super initWithStyle:UITableViewStyleGrouped];
    if (self) {

        _pinArray = [[NSArray alloc]init];
        _pinArray = [Data singleton].annotations;

        UIBarButtonItem *right = [[UIBarButtonItem alloc]initWithTitle:@"Map"
                                                                 style:UIBarButtonItemStylePlain
                                                            target:self
                                                            action:@selector(goToMap:)];
        self.navigationItem.rightBarButtonItem = right;

        UIBarButtonItem *left = [[UIBarButtonItem alloc]initWithTitle:@"Menu"
                                                            style:UIBarButtonItemStylePlain
                                                           target:self
                                                           action:@selector(goToMenu:)];
        self.navigationItem.leftBarButtonItem = left;
        self.navigationItem.title = @"My Homes";
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

objective-c uinavigationcontroller uibarbuttonitem ios

21
推荐指数
2
解决办法
2万
查看次数

具有普通样式的UINavigationBar BarButtonItem

我得到以下代码:

- (id)init {
  if (self = [super init]) {
      self.title = @"please wait";
      UIBarButtonItem *favorite = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"star.png"] style:UIBarButtonItemStylePlain target:self action:@selector(buttonFavoriteClicked:)];
      self.navigationItem.rightBarButtonItem = favorite;
  }

  return self;
}
Run Code Online (Sandbox Code Playgroud)

但我的按钮看起来仍像一个带有UIBarButtonItemStyleBordered替换文字的按钮 http://img693.imageshack.us/img693/1632/bildschirmfoto20100227ui.png

有没有办法在这个位置设置一个朴素的按钮?

iphone image uinavigationbar uibarbuttonitem

20
推荐指数
3
解决办法
2万
查看次数

导航栏按钮项目swift的图像

我想在swift的左侧显示一个图像.

我尝试添加导航栏按钮项并在那里设置图像.

问题是我必须使用一个非常小的图像才能很好地适应导航栏.但制作如此小的图像会导致像素化,特别是在较大的手机iPhone 6和6 Plus上.

有没有办法使用高质量的图像然后设置框架以适应导航栏的范围?

我的尝试:

var image = UIImage(named: "Harp.png")

image = image?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)

self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: image, style: UIBarButtonItemStyle.Plain, target: nil, action: nil)
self.navigationItem.leftBarButtonItem.frame = CGRectMake(0, 0, 53, 31)
//image.frame = CGRectMake(0, 0, 53, 31)
Run Code Online (Sandbox Code Playgroud)

我尝试先将帧放在图像上,然后放在条形按钮项上.但这是一个错误:

如果没有更多的上下文,表达的类型是不明确的.

uinavigationcontroller uibarbuttonitem ios swift

20
推荐指数
3
解决办法
3万
查看次数