2013-11-14 138 views
1

下面是我在我的應用程序中遇到的錯誤,它在ios6中正常工作。iOS7中的問題,iOS6中的問題

[__NSCFString frame]: unrecognized selector sent to instance 0xc075290 

我不明白什麼是錯的。但我猜想與UINavigationController有關。請指導以上。 在此先感謝。

更新:啓用殭屍後,我得到這個錯誤。

[_UINavigationBarBackIndicatorView frame]: message sent to deallocated instance 0xc0fb860 

-(void)viewWillAppear:(BOOL)animated 
{ 
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isAcceptTerms"]) { 
    [adBannerView setDelegate:self]; 
    [adBannerView setHidden:NO]; 

    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isBannerShown"]) //-ive logic is applied 
    { 
     [self.adBannerView setHidden:YES]; 
     [self.adBannerView setDelegate:nil]; 
    } 
} 
else 
{ 
    [adBannerView setDelegate:nil]; 
    [adBannerView setHidden:YES]; 
} 

[self.navigationController.navigationBar setHidden:NO]; 
NSMutableDictionary *dictTemp =[[sqlmessenger shared]fetchOrders]; 
int count=[[sqlmessenger shared] isuserdetails]; 

if (count>0) 
{ 
    [self updateCoordinate]; 
} 

NSArray *arrContorl = [self.navigationController.navigationBar subviews]; 
for(UIButton *btnTemp in arrContorl) 
{ 
    if([btnTemp isKindOfClass:[UIButton class]]) 
    { 
     [btnTemp removeFromSuperview]; 
    } 
}  

UIImageView *imgHeader= [[UIImageView alloc]initWithFrame:CGRectMake(0,0,320,44)]; 
[imgHeader setBackgroundColor:[UIColor clearColor]]; 
[imgHeader setImage:[UIImage imageNamed:@"setting.png"]]; 
[self.navigationController.navigationBar addSubview:imgHeader]; 

if(lblHeader) 
{ 
    lblHeader=nil ; 
} 

lblHeader = [[UILabel alloc]initWithFrame:CGRectMake(60,5,230,30)]; 
[lblHeader setBackgroundColor:[UIColor clearColor]]; 
[lblHeader setTextAlignment:UITextAlignmentLeft]; 
[lblHeader setTextColor:[UIColor whiteColor]]; 
[lblHeader setFont:[UIFont boldSystemFontOfSize:18.0]]; 
if([dictTemp count]==0 && contentView.hidden == FALSE) 
{ 
    [lblHeader setText:@"Terms of Service (EULA)"]; 
} 
else 
{ 
    [lblHeader setFrame:CGRectMake(110,5,200,30)]; 
    [lblHeader setFont:[UIFont boldSystemFontOfSize:20.0]]; 
    [lblHeader setText:@"Settings"]; 
} 

[self.navigationController.navigationBar addSubview:lblHeader]; 
} 
+2

只是一個建議:下次嘗試爲您的問題找到更具體的標題。 – katzenhut

+0

你使用ARC嗎? – medvedNick

+0

@medvedNick不使用ARC。 – ios7

回答

2

很顯然,你試圖訪問一個NSString對象,而這是不允許的frame性質,因爲這個對象沒有這個屬性。

嘗試添加更多細節。 (添加引起崩潰的代碼,通常是崩潰堆棧並不是那麼有用)。

UPDATE: 仍不能確定發生了什麼事情,你需要做的實際調試,工廠所需的斷點記錄您的變量,看看什麼樣的價值觀,他們必須等 我可以給你一些東西,你可以嘗試:

1.不確定爲什麼要將子視圖添加到導航欄。您可以改用UIViewController的navigationItem屬性,然後leftBarButtonItem的UINavigationItem,如:

對於左邊欄按鈕項目:(確保你隱藏後退按鈕第一)

self.navigationController.navigationItem.hidesBackButton = YES; 
self.navigationItem.leftBarButtonItem = yourLeftBarButtonItem; 

而對於權一個:

self.navigationItem.rightBarButtonItem = yourRightBarButtonItem; 

2.您每次出現viewController時都會分配視圖和標籤。這是低效的。記憶和時間。相反,您可以分配一次並更改alpha頻道。

+0

請查看更新後的問題。 – ios7

+0

檢查我更新的答案 –