2012-10-03 91 views
2

我正在通过Interface Builder创建UIToolBar。 我将它设置为IBOutlet。更改UIToolBar的位置iOS

在我的viewControllerviewDidLoad内我试图设置框架。

我想要实现的是修改它的位置,使其可以动画。

但没有任何反应。

有没有不同的方式来做到这一点?

感谢

myOwnToolBar.frame = CGRectMake(0, 0, 100, 55); 
    [self.view addSubview:myOwnToolBar]; 
+2

显示您的代码。 –

+0

我可以让它工作,以编程方式添加toolBar。但是,如果我通过IB来完成,我无法移动它。我试图在viewDidLoad,init ...中添加.frame代码......但是没有任何东西 – Camus

回答

3

如果你想以编程方式创建UIToolBar,你不能只是设定一个框架,而不分配和初始化工具栏。试试这个:

myOwnToolBar = [[UIToolBar alloc] initWithFrame:CGRectMake(0, 0, 100, 44)]; 
[self.view addSubview:myOwnToolBar]; 

当你创建一个IBOutlet时,暗示一个alloc/init调用。您只需要记住,对于在代码中创建的对象,这不是真的。

+0

当我通过Interface Builder创建的时候,我试图访问self.myOwnToolBar.fram = ...但它不工作。我在viewDidLoad – Camus

+0

中这样做很简单。感谢+1! –

0

小黑客与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偏移量y-offset