子类化 UIToolbar 的正确方法

发布于 2024-12-04 22:31:06 字数 855 浏览 4 评论 0原文

我第一次对 UIToolbar 进行子类化,以使用自定义 UIBarButton 创建 UIToolbar。

我正在这样做:

@interface CustomToolbar : UIToolbar

@end


@implementation CustomToolbar

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // add buttons
        UIBarButtonItem *myButton = [[UIBarButtonItem alloc] initWithTitle:@"Button" style:UIBarButtonItemStyleBordered target:self action:@selector(pressSignupButton:)];

        // add buttons to the array
        NSArray *items = [NSArray arrayWithObjects:myButton, nil];

        [self setItems:items];
    }
    return self;
}

@end

然后在我的视图控制器中:

CustomToolbar *myToolbar = [[CustomToolbar alloc] init];
[self.navigationController.view addSubview:myToolbar];

问题是我可以看到工具栏,但没有按钮。为什么?

注意:我更喜欢以编程方式实现所有功能,无需笔尖。

For the first time I'm subclassing UIToolbar for creating ones with custom UIBarButton.

I'm doing this:

@interface CustomToolbar : UIToolbar

@end


@implementation CustomToolbar

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // add buttons
        UIBarButtonItem *myButton = [[UIBarButtonItem alloc] initWithTitle:@"Button" style:UIBarButtonItemStyleBordered target:self action:@selector(pressSignupButton:)];

        // add buttons to the array
        NSArray *items = [NSArray arrayWithObjects:myButton, nil];

        [self setItems:items];
    }
    return self;
}

@end

Then in my view controller:

CustomToolbar *myToolbar = [[CustomToolbar alloc] init];
[self.navigationController.view addSubview:myToolbar];

The problem is that I can see the toolbar but there aren't buttons. Why?

NB: I prefer to have all programmatically without nib.

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

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

发布评论

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

评论(1

物价感观 2024-12-11 22:31:06

这有效吗?

CustomToolbar *myToolbar = [[CustomToolbar alloc] 
     initWithFrame:CGRectMake(0,0,self.navigationController.view.frame.size.width, 44)];
[self.navigationController.view addSubview:myToolbar];

Does this work?

CustomToolbar *myToolbar = [[CustomToolbar alloc] 
     initWithFrame:CGRectMake(0,0,self.navigationController.view.frame.size.width, 44)];
[self.navigationController.view addSubview:myToolbar];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文