0

UISearchBarを.xibファイルのツールバーに配置しようとしています。検索バーをツールバーにドラッグアンドドロップできますが、次のエラーが表示されます。

ControllerName.xib:error: illegal Configuration: UISearchBar embedded in UIBarButtonItems (Only available ub iPad documents).

UISearchBarをxibのツールバーに含める方法を教えてください。

4

3 に答える 3

1

私の知る限り、開発にIPADを使用していない限り、IPHONEに直接追加することはできません。まず、 UISearchBarをcustomViewに追加してから、プログラムでツールバーに追加する必要があります。UISearchBarUIToolBar

// your searchbar
UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(xposition, yposition, width, height)];

//create a customview and make its frame equal to your searchbar
UIView *searchBarView = [[UIView alloc] initWithFrame:searchBar.frame];

// add your searchbar to the custom view
[searchBarView addSubview:searchBar];

//finally add it to your bar item of the toolbar

UIBarButtonItem *searchBarItem =
    [[UIBarButtonItem alloc] initWithCustomView:searchBarView];
于 2013-02-25T10:57:14.283 に答える
0

Apple がXcode 8.2でこれを修正したので、この Interface Builder を実行できるようになりました。iOS 8.0より前のiOSではポップオーバーが許可されておらず、ツールバーの検索バーはポップオーバーがほとんどの場合使用されることを意味していたため、以前は無効にしたと思います。しかし、彼らは iOS 8.0 でそれを無効にするのを忘れていました。

于 2016-12-21T15:52:44.210 に答える
0

プログラムによって:

UIToolbar *Toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
    [Toolbar sizeToFit];

    UISearchBar *testbar = [[UISearchBar alloc] initWithFrame:CGRectMake(0,2,250,38)];

    NSMutableArray *barItems = [[NSMutableArray alloc] init];
    UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
    [barItems addObject:flexSpace];

    UIBarButtonItem *btnCancel = [[UIBarButtonItem alloc] initWithTitle:@"Button" style:UIBarButtonItemStyleBordered target:self action:@selector(ButtonMethod)];
    [barItems addObject:btnCancel];

    [Toolbar setItems:barItems animated:YES];

    [Toolbar  addSubview:testbar];

    [self.view addSubview:Toolbar];

これがボタンメソッドです。

-(void)ButtonMethod
{
  // Write Code for ButtonMethod Method
}
于 2013-02-25T11:17:32.410 に答える