Objective C:工具栏中 UIBarButton 缺少边框

发布于 2024-11-02 14:35:05 字数 1351 浏览 4 评论 0原文

我试图创建一个 UIBarButton 并使用代码将其添加到工具栏。运行应用程序后,我发现按钮的边框丢失了。我的代码如下所示。

UIBarButton without border

//Add toolbar to the UITable View
toolbar = [[UIToolbar alloc] init];
toolbar.barStyle = UIBarStyleDefault;
toolbar.frame = CGRectMake(0, 436, 320, 50);

//Set the toolbar to fit the width of the app.
[toolbar sizeToFit];

UIBarButtonItem *flexButton =[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 
                                                                           target:nil 
                                                                           action:nil];

UIBarButtonItem *nextButton = [[UIBarButtonItem alloc]initWithTitle:@"Who Paid?" 
                                                              style:UIBarButtonItemStylePlain 
                                                             target:self
                                                             action:nil];

NSArray *buttonItems = [[NSArray alloc]initWithObjects:flexButton, nextButton, nil];

[self.toolbar setItems:buttonItems];

[self.navigationController.view addSubview:toolbar];


[buttonItems release];
[flexButton release];
[nextButton release];
[toolbar release];

我是否错过了任何步骤或者是否犯了错误?非常感谢对此的任何帮助。

谢谢!

I was trying to create a UIBarButton and add it to a tool bar using code. I fount the border of my button missing after running the app. My code as shown below.

UIBarButton without border

//Add toolbar to the UITable View
toolbar = [[UIToolbar alloc] init];
toolbar.barStyle = UIBarStyleDefault;
toolbar.frame = CGRectMake(0, 436, 320, 50);

//Set the toolbar to fit the width of the app.
[toolbar sizeToFit];

UIBarButtonItem *flexButton =[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 
                                                                           target:nil 
                                                                           action:nil];

UIBarButtonItem *nextButton = [[UIBarButtonItem alloc]initWithTitle:@"Who Paid?" 
                                                              style:UIBarButtonItemStylePlain 
                                                             target:self
                                                             action:nil];

NSArray *buttonItems = [[NSArray alloc]initWithObjects:flexButton, nextButton, nil];

[self.toolbar setItems:buttonItems];

[self.navigationController.view addSubview:toolbar];


[buttonItems release];
[flexButton release];
[nextButton release];
[toolbar release];

Am I missing out on any step or is there a mistake that was made? Any help on this is greatly appreciated.

Thanks!

Zhen

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

何必那么矫情 2024-11-09 14:35:05

UIBarButtonItemStylePlain 是罪魁祸首。

根据 Apple 文档,< strong>UIBarButtonItemStyleBordered 是您所需要的:

UIBarButtonItemStylePlain :发光时
被点击。默认项目样式。

UIBarButtonItemStyleBordered :一个简单的
带边框的按钮样式。

UIBarButtonItemStyleDone :样式
完成按钮 - 例如,一个按钮
完成一些任务并返回
到上一个视图。

UIBarButtonItemStylePlain is the culprit.

According to Apple documentation, UIBarButtonItemStyleBordered is what you need :

UIBarButtonItemStylePlain : Glows when
tapped. The default item style.

UIBarButtonItemStyleBordered : A simple
button style with a border.

UIBarButtonItemStyleDone : The style for
a done button—for example, a button
that completes some task and returns
to the previous view.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文