2012-10-03 89 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