标签: uibarbuttonitem

获取UIBarButtonItem的宽度

我想要得到一个宽度UIBarButtonItem.

这不起作用:

barbuttonitem.customView.frame.size.width
Run Code Online (Sandbox Code Playgroud)

这也行不通:

barbuttonitem.width
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uibarbuttonitem

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

UIBarButtonItem外观setTitleTextAttributes不影响UIControlStateDisabled状态

我们的设计师让我为禁用的UIBarButtonItems文本使用特定颜色.我用来实现这个代码:

NSDictionary* textAttributes = [NSDictionary dictionaryWithObject: [UIColor blueColor]
                                                           forKey: UITextAttributeTextColor];

[[UIBarButtonItem appearance] setTitleTextAttributes: textAttributes
                                            forState: UIControlStateDisabled];
Run Code Online (Sandbox Code Playgroud)

但它没有改变文本属性.

我已尝试使用Normal状态的代码,尝试使用setBackgroundImage为UIControlStateDisabled按钮添加背景,并且所有thouse实验都能正常工作.但是这个单一的组合:setTitleTextAttributes和UIControlStateDisabled没有做任何事情.

谷歌没有给我任何关于这个特定组合的相关答案.

有没有人知道改变禁用的UIBarButtonItem的颜色的其他方法或使setTitleTextAttributes适用于diabled项目的方法?

appearance uibarbuttonitem uibarbuttonitemstyle ios5

16
推荐指数
1
解决办法
6757
查看次数

在swift中添加UIBarButton项

我正在尝试将UIBarButton项添加到导航栏.

这是我的导航栏类声明:

import UIKit

class NavigationBarController: UINavigationController {

    override func viewDidLoad() {
        super.viewDidLoad()

        configureToolbar()        
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    // #pragma mark - Navigation bar data source

    func configureToolbar() {
        let toolbarButtonItems = [
            searchBarButtonItem
        ]
        toolbar.setItems(toolbarButtonItems, animated: true)
    }

    var searchBarButtonItem: UIBarButtonItem {
        return UIBarButtonItem(barButtonSystemItem: .Search, target: self, action: "barButtonItemClicked:")
    }
}
Run Code Online (Sandbox Code Playgroud)

编译器没有错误,但我得到的只是一个简单的导航栏.

如何显示UIBarButtonItem?

uibarbuttonitem swift ios8

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

如何在UINavigationItem.rightBarButtonItem(或leftBarButtonItem)上添加多个UIBarButton?

我尝试过这种方法/ hack:http: //blog.blackwhale.at/2009/06/uibuttons-in-uinavigationbar/

问题是这留下了一个微弱的缝隙.我尝试将嵌套工具栏的背景图像设置为我捕获的应该是什么的图像.那没用.图像未应用.我也尝试使用嵌套的UINavigationBar,但似乎没有用.

我在几个iPhone应用程序中看到过这个.有谁知道怎么样?

[编辑]我希望按钮看起来像普通的UIBarButtonItems,并且能够使用系统样式,如UIBarButtonSystemItemAdd,UIBarButtonSystemItemRefresh.我提供的链接执行此操作,除了您可以看到一个微弱的接缝,因为它是嵌套在导航栏中的UIToolbar.

请不要提及违反人机界面指南.(我们知道).

我感谢你贡献你的黑客......这是唯一的方法!

iphone uinavigationbar uibarbuttonitem

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

使用UIAppearance分别自定义UIBarButtonItem"Done"样式和"Plain"样式

我知道如何自定义UIBarButtonItem使用-setBackgroundImage: forState: barMetrics:,但我想使用不同的图像UIBarButtonItemStyleDoneUIBarButtonItemStylePlain.

有没有办法使用UIAppearance协议来实现这一目标?或者每次我想要一个"完成"样式按钮时我是否必须设置图像?

(我试着搞乱如下代码:

[[UIBarButtonItem appearance] setBackgroundImage:image forState:UIControlStateNormal barMetrics:UIBarButtonItemStyleDone];

但这只是用"完成"图像设置每个条形按钮.)

谢谢!

iphone customization uibarbuttonitem ios uiappearance

15
推荐指数
2
解决办法
8780
查看次数

来自UIButtons的自定义UIBarButtonItems带有自定义图像 - 是否可以使点击目标更大?

我正在制作UIBarButtons如下:

// Create "back" UIBarButtonItem
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
backButton.frame = CGRectMake(0, 0, 28, 17);
[backButton addTarget:self action:@selector(backButtonTapped) forControlEvents:UIControlEventTouchUpInside];
backButton.showsTouchWhenHighlighted = YES;

UIImage *backButtonImage = [UIImage imageNamed:@"back-button.png"];
[backButton setBackgroundImage:backButtonImage forState:UIControlStateNormal];

UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];

[toolBarItems addObject:backBarButtonItem];
Run Code Online (Sandbox Code Playgroud)

但是,水龙头目标很小.更确切地说,它们是自定义图像的大小.(再次,这很小.)有没有办法增加他们的水龙头目标的大小?

(注意:更改UIButtons的框架属性只会拉伸图像.)

objective-c uibutton uitoolbar uibarbuttonitem ios

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

如何在IOS中将UIBarButtonItem设置为弹出窗口的锚点?

我在我的iPad应用程序中显示一个弹出控制器:

[self.programMapPopOver presentPopoverFromRect:anchor.frame
                        inView:anchor.superview
                        permittedArrowDirections:UIPopoverArrowDirectionAny 
                        animated:YES];
Run Code Online (Sandbox Code Playgroud)

我的问题是锚:我想设置一个UIBarButtonItem*作为它的锚点,但它不是UIView*,但是inView是一个view*参数.

我怎么解决这个问题?

谢谢大家!

popover uibarbuttonitem ipad ios

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

ActionSheet源视图BarButtonItem

我在导航栏中有一个条形按钮项,按下时将显示一个UIAlertController样式为.ActionSheet.在iPhone中,它看起来就像我想要的那样.对于iPad,我知道我需要添加

// For iPad, set the pop over bounds
var popOver = optionMenu.popoverPresentationController
popOver?.sourceView = button as UIView
popOver?.sourceRect = (button as UIView).bounds
popOver?.permittedArrowDirections = UIPopoverArrowDirection.Any
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何使用条形按钮项目作为sourceViewsourceRect?我希望popover指向bar按钮项.

uibarbuttonitem ios uipopover swift uialertcontroller

15
推荐指数
1
解决办法
2955
查看次数

不推荐使用UIBarButtonItemStyleBordered; 相反,我该怎么办?

我正在尝试创建UIBarButtonItem这样的:

UIBarButtonItem *discardButton =
   [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"edit-document.button.discard", "Discard Changes button")
                                    style:UIBarButtonItemStyleBordered
                                   target:self
                                   action:@selector(discardButtonAction:)];
Run Code Online (Sandbox Code Playgroud)

但是,我注意到UIBarButtonItemStyleBordered现在已经弃用了.相反,我该怎么办?

deprecated uibarbuttonitem ios

15
推荐指数
1
解决办法
9061
查看次数

带有 UIBarButtonItem LayoutConstraint 问题的 UIToolbar

我正在以编程方式创建一个带有 UIBarButtonItem 的 UIToolbar。我没有为此 ViewController 使用 .xib 或故事板。这是我如何创建它的代码。

NSMutableArray *items = [[NSMutableArray alloc] init];

UIBarButtonItem *buttonItem;
buttonItem = [[UIBarButtonItem alloc ] initWithTitle: [Language get:@"Home" alter:nil]
                                               style: UIBarButtonItemStyleBordered
                                              target: self
                                              action: @selector(viewChangeTo)];
[items addObject:buttonItem];

toolbar = [[UIToolbar alloc] init];
toolbar.frame = CGRectMake(0, 0, 1024, 44);
[toolbar setItems:items animated:NO];
[self.view addSubview:toolbar];
Run Code Online (Sandbox Code Playgroud)

每次加载视图时,我都会收到 LayoutConstraints 错误。

[LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want. 
Try this: 
    (1) look at each …
Run Code Online (Sandbox Code Playgroud)

objective-c uitoolbar uibarbuttonitem ios nslayoutconstraint

15
推荐指数
1
解决办法
3379
查看次数