2012-05-02 14 views
0

こんにちは私はちょうどrectボタンから簡単なuipopoverを作ろうとしています。以前のXcode(4.2)ではこれを問題なく実行できますが、Xcode 4.3.2 iPadシミュレータでこのコードを実行しようとすると、rectボタンを押したときにフリーズ/ハングします。誰でも助けてくれますか?ここ は、ヘッダー・ファイル内の私のコードXcode 4.3.2でuipopoverフリーズの問題

です:

@interface popViewViewController : UIViewController <UIPopoverControllerDelegate> { 


} 

-(IBAction)showPop:(id)sender; 


@end 

implemantationファイル:

#import "popViewAppDelegate.h" 

int main(int argc, char *argv[]) 
{ 
    @autoreleasepool { 
     return UIApplicationMain(argc, argv, nil, NSStringFromClass([popViewAppDelegate class])); 
    } 
} 

「スレッド1:信号SIGABRT

#import "popViewViewController.h" 
#import "infoView.h" 

@interface popViewViewController() 


@end 

@implementation popViewViewController 

-(IBAction)showPop:(id)sender { 

    infoView *infoview = [[infoView alloc] init]; 
    UIPopoverController *pop = [[UIPopoverController alloc] initWithContentViewController:infoview]; 
    [pop setDelegate:self]; 
    [pop presentPopoverFromRect:[sender bounds] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUnknown animated:YES]; 
    [pop setPopoverContentSize:CGSizeMake(300, 200)]; 


} 

ここはどこエラーショーです"

ありがとう。

ありがとう。

+0

infoviewのコードを投稿できますか?どのようにpopViewViewControllerを追加しましたか?あなたが投稿した部分に間違ったものは何も見ません。 –

+0

実際には私の実際のプロジェクトでは同じ(凍結)しか動作しないので、これは単なる試用コードです。なぜこの単純な新しいプロジェクトを作成するのか、それがなぜフリーズしているのか分かりません。私はすでにXcode全体を削除して再インストールしようとしますが、まだ動作しません。私のコードで何も間違っていないことを知っているので、とてもイライラしています。おそらく私はosxライオンを後で完全に再インストールしようとします。 ps。私は2つのiMacを持っていて、他のiMacの4.2 Xcodeのコードを使用していますが、フリーズすることなく正常に動作します。私のinfoViewには、デフォルトで作成された標準だけのコードは含まれていません。 – redribbon

+0

さて、あなたのコードでは何かが間違っていると思いますが、この部分ではないと思います。再インストールやscracthからの起動は私が推測する助けにはなりません。私は問題がそこにあると私に思われるので、私はinfoViewコントローラを見たいと思います。下記の –

答えて

0

明らかに問題は私が期待通りにInfoViewではなく、 。 1つの質問、ARCを使用していますか?もしそうなら、popovercontrollerを強力な財産に保つようにしてください。これについての説明は、ARCではメソッドを終了するときにポップオーバーが自動的に解放されることです。あなたがARCを使用していないなら、他の手がかりはありません。

+0

申し訳ありませんが、私は本当にこれのnoobです。とにかくARCとは何ですか? – redribbon

+0

あなたはそれを全部持っているべきですが、Automatic Reference Counting、つまり自動メモリ管理です。あなたは私がアイバールで提案する解決策を試しましたか? –

+0

まあ、ARCは本当に問題であるようです。私は5日を無駄にしています。私は今やうれしいよ。とても助けてくれてありがとうございました。 – redribbon

0

ここでそのヘルプには、InfoViewのコントローラの場合:

infoView.h:

#import <UIKit/UIKit.h> 

@interface infoView : UIViewController 

@end 

infoView.m:

#import "infoView.h" 

@interface infoView() 

@end 

@implementation infoView 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view from its nib. 
} 

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
    // e.g. self.myOutlet = nil; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return (interfaceOrientation == UIInterfaceOrientationPortrait); 
} 

@end 
関連する問題