【问题标题】:UIButton not showing in iOSUIButton 未在 iOS 中显示
【发布时间】:2011-08-17 10:06:04
【问题描述】:

以下是显示工具栏按钮的代码。

UIButton myButton = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *myImage = [UIImage imageNamed:@"img1.png"];

[myButton setBackgroundImage:myImage forState:UIControlStateNormal];
UIBarButtonItem *myToolbarButton = [[UIBarButtonItem alloc] initWithCustomView:myButton];

工具栏上没有显示任何内容。请告诉我有什么问题。

【问题讨论】:

  • 可能是因为你没有设置按钮的框架...

标签: ios uibutton uiimage uibarbuttonitem displayobject


【解决方案1】:
[myToolbar setItems:[NSArray arrayWithObject:myToolbarButton]]; // might help

或者如果它是一个导航栏

self.navigationItem.rightBarButtonItem = myToolbarButton;

您还应该为自定义按钮设置框架,如下所示:

UIButton *mybutton = [[UIButton alloc] initWithFrame:CGRectMake:0,0,200,50];

那么如果你想添加一个选择器/回调:

[myButton addTarget:self action:@selector(someMethod) forControlEvents:UIControlEventTouchUpInside];

【讨论】:

  • 我已经做到了。我只是将 UIBarButtonItem 修改为具有自定义视图,因此将其添加到按钮数组中,然后将工具栏设置添加到它就完成了。
  • 如何设置框架?我找了找,没找到合适的方法。
  • UIButton *mybutton = [[UIButton alloc] initWithFrame:CGRectMake:0,0,200,50];
  • 当我使用自定义视图(UIButton)初始化我的 UIBarButtonItem 时,如何注册函数回调?因为没有方法可以让我们这样做,即没有选择器参数。
  • 谢谢。当我在工具栏上使用自定义视图(UIButton)初始化 UIBarButtonItem 时,我想将 uibarbuttonitemstyle 设置为 uibarbuttomitemstyleplain 以便在单击时发光。我该怎么做呢?因为在 initWithImage 中提供了设置样式选项。
【解决方案2】:
self.navigationItem.leftBarButtonItem = myButtonItem; // and change for the right button.

self 是 UIViewController。

【讨论】:

    【解决方案3】:

    您忘记将此按钮添加到工具栏!

    NSArray *toolbarItems = [[NSArray alloc] initWithObjects:myToolbarButton,nil]; // you can more buttons here
    [aToolbar setItems:toolbarItems animated:NO]; // change to YES if you want to have nice animation
    [toolbarItems release];
    

    如果你想在导航栏上添加一个按钮,使用这个:

    [self.navigationItem setRightBarButtonItem:myToolbarButton]; // or setLeft...
    

    另外,你应该记得设置myButton的框架:

    [myButton setFrame:CGRectMake(0, 0, 30, 32)];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-11
      • 1970-01-01
      相关资源
      最近更新 更多