gpt4 book ai didi

ios - 以编程方式创建 UIToolbar

转载 作者:行者123 更新时间:2023-11-29 11:01:59 35 4
gpt4 key购买 nike

我希望在用户单击按钮时(在我的例子中是当他们放大照片时)以编程方式将 UIToolbar 添加到 View 。

当我在 click 方法中创建工具栏并添加到 subview 时,它似乎工作正常但是如果我在 viewDidLoad 方法中创建工具栏,将它分配给一个实例变量,然后将该实例变量添加到 subview 点击,什么也没有出现。调试器显示实例变量是一个 UIToolbar 并且不为空。我不想在每次单击时创建和销毁相同的工具栏,所以我认为最好将它保留为实例变量,我根据需要在 View 中添加和删除它。这是正确的方法吗?

为什么它在一种情况下可见而在另一种情况下不可见。

设置

@synthesize toolBar;

- (UIToolbar*)createToolbar
{
UIToolbar* toolbar = [[UIToolbar alloc] init];
toolbar.frame = CGRectMake(0, self.view.frame.size.height - 44, self.view.frame.size.width, 44);
UIBarButtonItem *shareButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(sharePhoto:)];
NSArray *buttonItems = [NSArray arrayWithObjects:shareButton,nil];
[toolbar setItems:buttonItems];
return toolbar;

}

这行得通

- (void) clickMyButton {

toolBar = [self createToolbar];
[self.view addSubview:toolBar];
}

这没有显示任何内容

- (void)viewDidLoad
{
[super viewDidLoad];
toolBar = [self createToolbar];

}
- (void) clickMyButton {

[self.view addSubview:toolBar];
}

为什么它在后一种情况下不起作用

最佳答案

问题是当 viewDidLoad 被调用时,不能保证为您的 View 和 subview 设置框架。尝试从 viewWillAppearviewDidAppear 调用 [self createToolbar]

关于ios - 以编程方式创建 UIToolbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15466108/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com