转到其他视图后,标签栏按钮的顺序发生了变化
Posted
技术标签:
【中文标题】转到其他视图后,标签栏按钮的顺序发生了变化【英文标题】:Tabbar buttons order changed after go to other view 【发布时间】:2016-01-27 10:01:35 【问题描述】:我的标签栏中有 2 个按钮,以编程方式添加。但是在导航到视图中的另一个占位符后顺序发生了变化。
当我打开应用程序时: 当我进入电影标签时:
代码:
self.searchButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:@selector(toggleSearchBar)];
UIImage* meetupButtonIcon = [UIImage imageNamed:@"meetup_logo_icon"];
UIImage* meetupButtonIconHighlighted = [UIImage imageNamed:@"meetup_logo_icon_highlighted"];
CGRect frameimg = CGRectMake(0, 0, 25, 25);
UIButton *meetupUIButton = [[UIButton alloc] initWithFrame:frameimg];
[meetupUIButton setBackgroundImage:meetupButtonIcon forState:UIControlStateNormal];
[meetupUIButton setBackgroundImage:meetupButtonIconHighlighted forState:UIControlStateHighlighted];
[meetupUIButton addTarget:self action:@selector(toggleMeetup:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *meetupIcon =[[UIBarButtonItem alloc] initWithCustomView:meetupUIButton];
self.meetupButton = meetupIcon;
[self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects:_meetupButton, _searchButton, nil]];
奇怪的是我需要在数组中以错误的顺序添加按钮:_meetupButton、_searchButton 并且看起来它更改为正确的顺序。我的问题是如何强制图像始终保持相同的顺序。
【问题讨论】:
您是设置一次还是每次更改占位符视图时设置按钮?rightBarButtonItems
的文档以与您的代码和第一个屏幕截图相匹配的方式定义按钮顺序(在从左到右的 UI 上),如果您将 rightBarButtonItems 设置为具有不同顺序的其他任何位置,您可以期望导航栏相应地更新。
【参考方案1】:
可能出了点问题。然而,为了让它工作,navigationItem
的leftBarButtonItems
可以使用您分配的Array
的序列进行排序,navigationItem
的rightBarButtonItems
可以使用您分配的Array
的反向序列进行排序。
也许你可以试一试!
【讨论】:
以上是关于转到其他视图后,标签栏按钮的顺序发生了变化的主要内容,如果未能解决你的问题,请参考以下文章