标签: uibarbuttonitem

如何以编程方式触发uibarbuttonitem click事件

我创造了一个 UIActionSheet

UIActionSheet * action = [[UIActionSheet alloc]initWithTitle:@""
                                                              delegate:self
                                                     cancelButtonTitle: @"cancel"
                                                destructiveButtonTitle: @"OK"
                                                     otherButtonTitles: nil];
          [action showInView:self.view];
          [action release];
Run Code Online (Sandbox Code Playgroud)

在取消按钮的事件中,UIActionSheet我想要触发一个事件UIBarButtonItem,这在我看来.

我的问题是如何在UIActionSheet委托方法中触发按钮事件(不触摸按钮)

iphone events uibarbuttonitem uiactionsheet ios

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

使用iOS7自定义UIBarButtonItem对齐

所以我遇到了许多其他人在使用UIButton作为自定义视图创建UIBarButtonItem时遇到的相同问题.

基本上,按钮向左或向右约10像素到远.当我使用没有自定义视图的常规BarButtonItem时,这不会发生.

这篇文章提供了部分解决方案: UIBarButton With Custom View

这是我通过子类化UIButton创建的代码(如另一篇文章中所述)

    - (UIEdgeInsets)alignmentRectInsets {
    UIEdgeInsets insets;
    if ([self isLeftButton]) {
        insets = UIEdgeInsetsMake(0, 9.0f, 0, 0);
    }
    else { // IF ITS A RIGHT BUTTON
        insets = UIEdgeInsetsMake(0, 0, 0, 9.0f);
    }
    return insets;
}


- (BOOL)isLeftButton {
    return self.frame.origin.x < (self.superview.frame.size.width / 2);
}
Run Code Online (Sandbox Code Playgroud)

这很好用,但当我从导航控制器弹出一个视图控制器回到这个主视图时,按钮仍然错误地定位了大约.3秒,然后它捕捉到正确的插图.

这是一个巨大的眼睛,我不知道如何阻止它像这样攫取.有什么想法吗?谢谢!

uibutton uinavigationcontroller uibarbuttonitem ios7

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

将UIToolBar添加到所有键盘(swift)

我正在尝试向所有键盘添加自定义UIToolBar,重复次数很少.我目前正在这样做的方式要求我将代码添加到我的所有viewDidLoads并将每个textfield的委托分配给我正在使用的viewController.我已经尝试创建自己的UIToolBar子类,但是当我的"完成"和"取消"按钮的目标是自我视图时,我发现我无法真正做到这一点.有没有人有任何关于创建一个易于重复使用的工具栏的建议?提前致谢.

override func viewDidLoad() {
    super.viewDidLoad()

    var toolBar = UIToolbar()
    toolBar.barStyle = UIBarStyle.Default
    toolBar.translucent = true
    toolBar.tintColor = UIColor(red: 76/255, green: 217/255, blue: 100/255, alpha: 1)
    var doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Done, target: self, action: "donePressed")
    var cancelButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Plain, target: self, action: "cancelPressed")
    var spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
    toolBar.setItems([cancelButton, spaceButton, doneButton], animated: false)
    toolBar.userInteractionEnabled = true
    toolBar.sizeToFit()

    stateField.inputAccessoryView = toolBar
    stateField.delegate = self
Run Code Online (Sandbox Code Playgroud)

repeat uitoolbar uibarbuttonitem ios swift

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

将图像添加到UIBarButtonItem按钮

我使用以下代码将UITabButtonItem添加到我的视图控制器上.任何人都可以告诉我它是否可以将图像与它联系起来?

UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(favouriteButtonClicked:)]; 
viewController2.navigationItem.rightBarButtonItem = button; 
[button release];
[self.navigationController pushViewController:viewController2 animated:YES];
Run Code Online (Sandbox Code Playgroud)

我在其他地方使用以下代码,但在上面的代码我将viewcontroller推到我当前的视图,这段代码不起作用.我不得不使用上面的代码.

UIButton *button =  [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"unselected.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(favouriteButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
[button setFrame:CGRectMake(280, 25, 30, 30)];
viewController2.navigationController.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:button] autorelease];

[self.navigationController pushViewController:viewController2 animated:YES];
Run Code Online (Sandbox Code Playgroud)

我不知道有什么问题但是当我用initWithBarButtonSystemItem替换这个自定义按钮代码时,它工作得很好!!!

最后,我整理出这个问题,并张贴在这里工作的代码,但仍,如果我有在baseviewcontroller一个按钮,我不明白,我添加它,就象下面,这是行不通的!我必须在viewwillappear中使用我接受的答案中给出的代码!

    [favButton addTarget:self action:@selector(favouriteButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
     self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:button] autorelease];  
Run Code Online (Sandbox Code Playgroud)

以下代码仍然无法正常工作!不知道发生了什么.

MPMoviePlayerViewController *videoController = [[[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:filePath]] autorelease];

UIButton* favouritebutton =  [UIButton buttonWithType:UIButtonTypeCustom];
[favouritebutton setBackgroundImage:[UIImage imageNamed:@"unselected.png"] forState:UIControlStateNormal];
[favouritebutton addTarget:self action:@selector(favouriteButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
[favouritebutton …
Run Code Online (Sandbox Code Playgroud)

iphone image uibarbuttonitem

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

以编程方式突出显示UIBarButtonItem

在点击'record'BarButtonItem之后,我想以编程方式突出显示它,直到录制结束.iOS的突出显示图形非常好,因此我想保留或设置该状态.

到目前为止,我发现'setSelected'和'setHighlighted',但这些不适用于UIBarButtonItem.关于如何解决这个问题的任何建议?科恩,提前谢谢你.

cocoa uibarbuttonitem ios

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

iOS - UIBarButtonItem - 后退按钮标题垂直位置未调整

我正在UIBarButtonItem使用我的对象设置自定义字体UIAppearance.这很好,并正确设置字体.但是,我需要调整按钮标题的垂直位置以适应新字体的大小.

[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObject:[UIFont fontWithName:@"Sketch Rockwell" size:12] forKey:UITextAttributeFont] forState:UIControlStateNormal];
[[UIBarButtonItem appearance] setTitlePositionAdjustment:UIOffsetMake(0, 1.5) forBarMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)

问题是标题的垂直位置在常规中正确调整UIBarButtonItem,但导航栏上的后退按钮无法调整.我假设我的目标是我的代码中的正确对象,因为它的字体更新,而不是它的标题的垂直位置.

有没有人知道如何直接定位后退按钮?

谢谢

布赖恩

back-button uibarbuttonitem ios

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

设置导航栏后退按钮图像

我想将UINavigationBar中的后退按钮设置为此图像:

在此输入图像描述

我不希望图像嵌入标准后退按钮图像,我只想要显示此图像.

通过查看我可以使用的其他问题,我知道:

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:barButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)

设置后退按钮的背景图像.但这导致图像被拉伸,据我所知,这个特定的图像不适合被拉伸.

有没有办法可以用我的图像替换后退按钮图像?

我支持iOS 5.0及更高版本.

uibarbuttonitem uinavigationitem ios uiappearance

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

在Swift中获取UIBarButtonItem的框架?

我怎么能在swift中得到rightbarbuttonItem的框架?我发现了这个:UIBarButtonItem:我怎样才能找到它的框架?但它说无法将NSString转换为UIView,或者无法将NSString转换为String:

let str : NSString = "view" //or type String
let theView : UIView = self.navigationItem.rightBarButtonItem!.valueForKey("view")//or 'str'
Run Code Online (Sandbox Code Playgroud)

目标是删除rightBarButtonItem,改为添加imageView,并使用fadeOut效果移动它.

谢谢

uibarbuttonitem uinavigationitem ios swift

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

QLPreviewController删除或添加UIBarButtonItems

我在互联网上看到了很多这样的问题,但似乎没有人真正知道答案?

我正在使用QLPreviewController来显示PDF文档.我首先使用了UIWebView,但我建议使用QLPreviewController来代替性能较大的文档.

我想要的是右上角的4个自定义UIBarButtonItem(所以打印按钮在哪里).

我设法在底部找到一个自定义工具栏,但这不是我想要的.

考虑到无法在打印按钮的位置添加自定义按钮,我仍然想要删除打印按钮并使用自定义工具栏.

编辑(解决方案): 我刚刚找到解决方案,但没有更新这篇文章,所以这里是我解决问题的方法:

我手动添加按钮:

// Create a toolbar to have the buttons at the right side of the navigationBar
UIToolbar* toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 180, 44.01)];
[toolbar setTranslucent:YES];

// Create the array to hold the buttons, which then gets added to the toolbar
NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:4];


// Create button 1
button1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:@selector(button1Pressed)];
[buttons addObject:button1];

// Create button 2
button2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:self action:@selector(button2Pressed)];
[buttons …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uibarbuttonitem ipad qlpreviewcontroller

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

Swift将徽章添加到导航barButtonItem和UIButton

我正试图在AppIcon上显示的应用程序中显示我的通知按钮上的徽章.

到目前为止,无论我研究过什么都与Obj有关.C,但没有具体讨论如何在Swift中实现该解决方案,

请帮助找到添加自定义类/代码的解决方案,以在UiBarbutton和UiButton上实现Badge.

到目前为止研究:

https://github.com/Marxon13/M13BadgeView

以及MKBadge类等.

uibutton uibarbuttonitem badge swift

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