0

テキストフィールドにボタンを作成し、bookMarksメソッドを呼び出しました。それはiphoneでうまくいきます。ツールバーにボタンを作成してこのメ​​ソッドを呼び出しても、正常に機能します。テキストフィールドで機能していません。この問題を解決する方法はありますか?ありがとう..

 [bookMarkButton addTarget:self action:@selector(bookMarks:) forControlEvents:UIControlEventTouchUpInside];

    locationField.leftView = bookMarkButton;

bookMarksメソッド

- (void)bookMarks:(id)button {

    if (self.bookmarkPopoverController.popoverVisible) {
        [self.bookmarkPopoverController dismissPopoverAnimated:YES];
        self.bookmarkPopoverController = nil;
    } else {
        ViewBookmarkViewController * viewBookmarkViewController = [[[ViewBookmarkViewController alloc] initWithStyle:UITableViewStyleGrouped] autorelease];
        viewBookmarkViewController.delegate = self;
        [viewBookmarkViewController setBookmark:[webView stringByEvaluatingJavaScriptFromString:@"document.title"]
                                        url:self.url];
        UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:viewBookmarkViewController] autorelease];

        navController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
            self.bookmarkPopoverController = [[[UIPopoverController alloc] initWithContentViewController:navController] autorelease];
            [self.bookmarkPopoverController presentPopoverFromBarButtonItem:button
                                                   permittedArrowDirections:UIPopoverArrowDirectionDown|UIPopoverArrowDirectionUp
                                                                   animated:YES];
        } else {
            [self presentModalViewController:navController animated:YES];
        }
    }

}
4

1 に答える 1

0

textFieldにControlEventを追加しないのはなぜですか。

[yourTextField addTarget:self action:@selector(bookMarks:) forControlEvents:UIControlEventTouchUpInside];

編集:ボタンを区別するには、タグ0と1をそれぞれ2つのボタンに追加します。

今あなたの方法は次のとおりです。

- (void)bookMarks:(id)sender 
{ 
  if([sender isKindOfClass:[UIButton class]]) 
  {
   UIButton *curBtn = (UIButton *)sender
   if([curBtn tag] == 0)
   {
     // any action for button 1
   }
   else if([curBtn tag] == 1)
   {
      //refresh uiWebView
   }
  }
 else
 {
   //your code
   //present your popover for ipad
   [[self.bookmarkPopoverController presentPopoverFromRect:yourtextFeild.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown|UIPopoverArrowDirectionUp animated:YES];
 }
}
于 2012-08-15T04:54:40.280 に答える