【发布时间】:2016-05-12 14:51:36
【问题描述】:
我有一个 uiButton,我想显示一个源自它的操作表。 这是我的关闭按钮代码,
+ (void)addLeftButton:(UINavigationItem *)navItem withTarget:(id) navTarget
{
UIBarButtonItem *fixedSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
[fixedSpace setWidth:-5];
UIImage *buttonImage = [UIImage imageNamed:@"close-button.png"];
UIButton *closeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[closeButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
closeButton.frame = CGRectMake(0.0, 0.0, buttonImage.size.width, buttonImage.size.height);
UIBarButtonItem *aBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:closeButton];
[closeButton addTarget:navTarget action:@selector(didSelectCloseButton:) forControlEvents:UIControlEventTouchUpInside];
[navItem setLeftBarButtonItems:[NSArray arrayWithObjects:fixedSpace,aBarButtonItem,nil]];
}
这个 IBAction 用于关闭按钮,
(IBAction)didSelectCloseButton:(id)sender {
if([self->_customer getCheckInDraft])
{
[self showActionSheet:sender];
}
在 showActionSheet 我有这段代码,
(void) showActionSheet:(id)sender
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
[self->_actionSheet showFromBarButtonItem:sender animated:YES];
}
//这里 showFromBarButtonItem 将发送者作为 uiButton 获取,但它崩溃了。单击关闭按钮时应用程序崩溃。
【问题讨论】:
-
提前致谢...
-
你在控制台崩溃时得到了什么?错误?还有你为什么不使用 UIActionSheet
-
我在崩溃时收到:“无法识别的选择器发送到实例”错误消息。为了显示我正在使用“showFromBarButtonItem”的操作表,但我使用的按钮不是 barButtonItem。所以它抛出了一个错误。我应该使用'showFromRect' insted。
标签: objective-c ipad