2013-05-14 54 views
0

有一個類似的,但懸而未決的問題 bound and frame for a UIButton的UIButton - 框架和邊界零 - 頁基於應用程序

我使用帶有自動佈局和故事板「頁基於應用程序模板

我能通過使基於標準頁面的應用向故事板添加按鈕並引用它來重現此問題

viewDidAppear DataViewController.m

- (void)viewDidAppear:(BOOL)animated 
{ 
    NSLog(@"View did appear"); 
    NSLog(@"self.myButton.bounds = %@",NSStringFromCGRect(self.myButton.bounds)); 
    NSLog(@"self.myButton.frame = %@",NSStringFromCGRect(self.myButton.frame)); 
    NSLog(@"self.myButton = %@",self.myButton); 
} 

輸出
2013年5月14日19:37:45.954 FrameTest4 [10777:C07]查看確實出現 2013年5月14日19:37:45.966 FrameTest4 [10777:C07]自我。 myButton.bounds = {{0,0},{0,0}} self.myButton.frame = {{0,0},{0,0,0}} 2013-05-14 19:37:45.968 FrameTest4 [10777:c07] 0}} 2013年5月14日19:37:45.970 FrameTest4 [10777:C07] self.myButton =>

頭文件

#import <UIKit/UIKit.h>  
@interface DataViewController : UIViewController 
@property (strong, nonatomic) IBOutlet UILabel *dataLabel; 
@property (strong, nonatomic) id dataObject; 
@property (weak, nonatomic) IBOutlet UIButton *myButton; 

當我運行相同的代碼與單個視圖應用程序自動佈局和故事板它工作正常。

我需要這些信息的原因是我需要運行結束於按鈕的動畫。 謝謝 Ryan

+0

從您的日誌中不清楚:您的按鈕是否爲零? – Mundi 2013-05-14 19:51:19

+0

按鈕不是零,只是框架和邊界。 – 2013-05-15 05:40:54

回答

1

我通常在新的iOS 5方法viewDidLayoutSubviews做這種事情。

但要小心,因爲這種方法可能被稱爲不止一次,所以你可能必須保持一個標誌來跟蹤這個。

+0

謝謝 - 我曾嘗試過這種方法,但它也沒有奏效。我有一種感覺,我可能不得不使用禁忌 – 2013-05-15 08:12:33

+0

我昨天嘗試過,它沒有工作,並今天再次嘗試,現在它似乎有價值。回答接受謝謝。 – 2013-05-15 10:34:58

相關問題