改变 UIToolBar iOS 的位置
Posted
技术标签:
【中文标题】改变 UIToolBar iOS 的位置【英文标题】:Change the position of UIToolBar iOS 【发布时间】:2012-10-03 03:41:12 【问题描述】:我正在通过 Interface Builder 创建一个 UIToolBar。 我将其设置为 IBOutlet。
在我的viewController
的viewDidLoad
内,我正在尝试设置框架。
我想要实现的是修改它的位置,以便它可以动画。
但是什么也没发生。
有没有其他方法可以做到这一点?
谢谢
myOwnToolBar.frame = CGRectMake(0, 0, 100, 55);
[self.view addSubview:myOwnToolBar];
【问题讨论】:
我可以让它以编程方式添加工具栏。但是,如果我通过 IB 进行操作,我将无法移动它。我试图在 viewDidLoad 中添加 .frame 代码,初始化...但什么都没有 【参考方案1】:如果您尝试以编程方式创建UIToolBar
,则不能只设置框架而不分配和初始化工具栏。试试这个:
myOwnToolBar = [[UIToolBar alloc] initWithFrame:CGRectMake(0, 0, 100, 44)];
[self.view addSubview:myOwnToolBar];
当您创建 IBOutlet 时,会隐含一个 alloc/init 调用。您只需要记住,这不适用于在代码中创建的对象。
【讨论】:
当我通过界面生成器创建时,我试图访问 self.myOwnToolBar.fram =... 但它不起作用。我在 viewDidLoad 中这样做 这是一种简单的方法。感谢 +1!【参考方案2】:swift 3 的小技巧:
override func viewDidLoad()
super.viewDidLoad()
UIView.animate(withDuration: 0.3)
self.navigationController?.toolbar?.transform = CGAffineTransform(translationX: 0, y: -216)
Objective-c 示例:
- (void)viewDidLoad
[super viewDidLoad];
[UIView animateWithDuration:0.3 animations:^
self.navigationController.toolbar.transform = CGAffineTransformMakeTranslation(0, -216);
];
为动画持续时间、x-offset或y-offset
设置变量或常量【讨论】:
以上是关于改变 UIToolBar iOS 的位置的主要内容,如果未能解决你的问题,请参考以下文章
iOS 7 的 UIToolbar 中 UIBarButtonItems 的垂直位置不正确