我正在通过 Interface Builder 创建一个 UIToolBar。我将其设置为 IBOutlet。
在viewDidLoad
我的范围内,viewController
我正在尝试设置框架。
我想要实现的是修改它的位置,以便它可以动画。
但什么也没有发生。
有没有不同的方法可以做到这一点?
谢谢
myOwnToolBar.frame = CGRectMake(0, 0, 100, 55);
[self.view addSubview:myOwnToolBar];
如果您尝试以UIToolBar
编程方式创建一个框架,则不能只设置一个框架而不分配和初始化工具栏。尝试这个:
myOwnToolBar = [[UIToolBar alloc] initWithFrame:CGRectMake(0, 0, 100, 44)];
[self.view addSubview:myOwnToolBar];
当您创建一个 IBOutlet 时,会隐含一个 alloc/init 调用。您只需要记住,这不适用于在代码中创建的对象。
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设置变量或常量