0

xcodeプログラミングは初めてです。したがって、この質問はばかげているように聞こえるかもしれません。のさまざまな機能を試していますUIWebview。URLテキストボックスを正常に追加し、Googleテキストボックスで検索しました。今、私はユーザーがブックマークを追加できるようにしようとしています。そのために、URLを配列に保存しています。UIPopoverただし、ブックマークバーボタン項目をクリックしたときにビューがポップするようにしたい。初期化しようとしている間、このエラーが発生し続けますUIPopoverController

objPopOverController = [[UIPopoverController alloc]init ];

ここで例外をスローしている理由に関するヘルプ。

ありがとう。

編集:

- (IBAction)addBookmark:(UIBarButtonItem *)sender {
    BookmarkPopover *objBook = [[BookmarkPopover alloc]init];    
    objPopOverController = [[UIPopoverController alloc]init ];
    objPopOverController.contentViewController = objBook;
    objPopOverController.delegate = self;
    objPopOverController.popoverContentSize = CGSizeMake(180, 120);
    [objPopOverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}

コンソール:

There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin".Attaching to process 13287.
Pending breakpoint 1 - "objc_exception_throw" resolved
[Switching to process 13287 thread 0x2303]
[Switching to process 13287 thread 0x207]
sharedlibrary apply-load-rules all
Error in re-setting breakpoint 1:
Catchpoint 2 (throw)Error in re-setting breakpoint 1:
Error in re-setting breakpoint 1:
Current language:  auto; currently objective-c
(gdb) 

self    ViewController *    0x6829f20
_cmd    SEL 0x4437
sender  UIBarButtonItem *   0x6a33020
objBook BookmarkPopover *   0x68528b0
Registers   (null)  (null)
Vector Registers    (null)  (null)
x87 Registers   (null)  (null)

編集2:

UIViewプログラムを文法的に初期化してから追加しようとしましたが、それでも同じエラーが発生します。

-(IBAction) buttonAction:(id)sender {

//build our custom popover view

UIViewController* popoverContent = [[UIViewController alloc] init];

UIView* popoverView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 300)];

popoverView.backgroundColor = [UIColor whiteColor];

popoverContent.view = popoverView;

//resize the popover view shown

//in the current view to the view's size

popoverContent.contentSizeForViewInPopover = CGSizeMake(200, 300);

//create a popover controller

self.objPopOverController = [[UIPopoverController alloc] initWithContentViewController:popoverContent];

//present the popover view non-modal with a
//refrence to the button pressed within the current view
[self.objPopOverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

//release the popover content

}

PopOverControllerを初期化すると、まだスタックします。

4

1 に答える 1

0

でポップオーバー コントローラを初期化することはできませんinit。での初期化時に、コンテンツ ビュー コントローラを指定する必要があります-initWithContentViewController:。クラッシュの原因となっているトリガーされたアサーションとドキュメントから、UIPopoverControllerこれがわかりました。

于 2012-07-03T05:06:21.380 に答える