当您从横向模式开始时,我的搜索栏会稍微向右拉伸。如果再旋转到纵向模式,该宽度仍会有点太宽。但是,如果您以纵向模式开始并且随后将其旋转为横向模式,也可以。这是我的代码。

sBar = [[UISearchBar alloc] initWithFrame:CGRectZero];
[sBar sizeToFit];
sBar.delegate = self;
sBar.autoresizingMask = UIViewAutoresizingFlexibleWidth |UIViewAutoresizingFlexibleBottomMargin;
[self.view addSubview:sBar];

最佳答案

答案是在运行其余代码之前,将搜索栏添加到视图中。

UISearchBar * tempSBar = [[UISearchBar alloc] initWithFrame:CGRectZero];
self.sBar = tempSBar;
[tempSBar release];

[self.view addSubview:sBar];
[sBar sizeToFit];
sBar.delegate = self;
sBar.autoresizingMask = UIViewAutoresizingFlexibleWidth |UIViewAutoresizingFlexibleBottomMargin;

10-06 02:22