gpt4 book ai didi

objective-c - 在表格 View 中更改搜索栏的宽度

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:45 24 4
gpt4 key购买 nike

我知道会有这样的评论是重复的:

Change the Width of UISearchBars on a TableView

我认为不是。为什么我无法更改 Storyboard 中的宽度?

enter image description here

我可以在宽度字段中写入任何值,但只要我按下返回/输入键,值 320 就会恢复。

我也试过在加载方法中这样做:

searchBar.frame = CGRectMake(0, 0, 222, 45);

再次零成功,有谁知道如何做到这一点?我有一个索引表,右边的字母与搜索文本字段重叠,看起来真的很难看。

更新

简单来说,这就是我想要的(概念上):

enter image description here

这是我设法制作的:

enter image description here

让我再次重申这个问题“我正在尝试调整搜索栏的大小,这样字母就不会重叠”。

我试过 taus-iDeveloper 的建议,它确实调整了大小,但表格单元格/部分重叠了。

也试过这个:

Changing the size of the UISearchBar TextField?

我设法在 Storyboard 中调整了它的大小,但是当应用程序运行时大小没有改变。

enter image description here

我完全不知道接下来要尝试什么..

更新 2

我接受了这个答案,因为它有一些解决方案的元素,我得出的结论是,这不能仅通过编程方式使用 Storyboard 来完成,解决方案:

//Add the search bar uiview wrapper
UIView *searchBarView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.tableView.frame.size.width, 44.0)];

//Add the search bar and navigation item to fill in the remaining space
UINavigationBar *remainingSearchSpace = [[UINavigationBar alloc] initWithFrame:CGRectMake(290, 0.0, (self.tableView.frame.size.width-290), 44.0)];

searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0, 0.0, 290, 44.0)];
searchBar.delegate = self;
[searchBarView addSubview:searchBar];
[searchBarView addSubview:remainingSearchSpace];
self.tableView.tableHeaderView = searchBarView;

最佳答案

试试这个:在 .h 文件中,

@interface SearchBarController : UIViewController <UISearchBarDelegate>

@property (nonatomic, retain) UISearchBar *mySearchBar;

在.m文件中,

@synthesize mySearchBar;
- (void)viewDidLoad
{
[super viewDidLoad];

self.title = NSLocalizedString(@"SearchBarTitle", @"");

self.view.backgroundColor = [UIColor groupTableViewBackgroundColor]; // use the table view background color

self.mySearchBar = [[[UISearchBar alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.bounds.size.width, 44.0)] autorelease];
self.mySearchBar.delegate = self;
self.mySearchBar.showsCancelButton = YES;
self.mySearchBar.showsBookmarkButton = YES;
[self.view addSubview: self.mySearchBar];

// provide tint coloring and background image only if its available
if (![self.mySearchBar respondsToSelector:@selector(setSearchFieldBackgroundImage:forState:)])
{
// hide the segmented control allowing for various content options
self.contentOptions.hidden = YES;
}
}

希望这对您有所帮助!

关于objective-c - 在表格 View 中更改搜索栏的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10914817/

24 4 0