Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 当navigationItem.titleView和RightBarButtonim占据UINavigationBar的大部分时,如何阻止LeftBarButtonim消失?_Objective C_Ios_Uinavigationbar_Uibarbuttonitem_Uinavigationitem - Fatal编程技术网

Objective c 当navigationItem.titleView和RightBarButtonim占据UINavigationBar的大部分时,如何阻止LeftBarButtonim消失?

Objective c 当navigationItem.titleView和RightBarButtonim占据UINavigationBar的大部分时,如何阻止LeftBarButtonim消失?,objective-c,ios,uinavigationbar,uibarbuttonitem,uinavigationitem,Objective C,Ios,Uinavigationbar,Uibarbuttonitem,Uinavigationitem,我有一个leftBarButtonim(使用自定义视图),它替代了后退按钮(因为自定义视图不能在BackBarButtonim上使用)。我还得到了一个RightBarButtonim(也使用自定义视图)和一个自定义标题视图 当leftBarButtonItem小于某个宽度时,一切都会正常工作。rightBarButtonItem可能很大,标题视图将调整大小并截断以适应可用空间,这正是它应该的样子,也是我想要的样子 但是,当相同的尺寸反转时(rightbuttonite小于某个宽度和leftbar

我有一个
leftBarButtonim
(使用自定义视图),它替代了后退按钮(因为自定义视图不能在
BackBarButtonim
上使用)。我还得到了一个
RightBarButtonim
(也使用自定义视图)和一个自定义标题视图

leftBarButtonItem
小于某个宽度时,一切都会正常工作。
rightBarButtonItem
可能很大,标题视图将调整大小并截断以适应可用空间,这正是它应该的样子,也是我想要的样子

但是,当相同的尺寸反转时(
rightbuttonite
小于某个宽度和
leftbarbuttonite
巨大),leftbarbuttonite完全消失,而
标题视图
将延伸以适应之前容纳
左巴布托体
标题视图
的整个空间

我尝试交换自定义视图,以查看这是否是我所做的事情,但相同的问题仍然存在于交换的视图中,同样只出现在
leftBarButtonItem
上。我还尝试使用常规标题,没有自定义的
标题视图
,但没有效果

UINavigationItem
的文档中,在
LeftBarButtonims
下,它指出“如果没有足够的空间显示数组中的所有项目,则不会显示与标题视图(如果存在)或栏右侧按钮重叠的项目。”,应该有足够多的空间来容纳按钮和标题,比如有一个巨大的
rightBarButtonItem
和一个截断的标题。更不用说,只有一个
leftBarButtonim
,而不是多个,我需要它出现以替换后退按钮功能

有没有办法阻止这种情况发生?下面是我正在使用的代码片段:

self.navigationItem.titleView = [[TitleView alloc] initWithFrame:CGRectMake(0, 0, 220, 44)];
self.navigationItem.titleView.backgroundColor=[UIColor clearColor];

FollowButton *follow = [[FollowButton alloc] initWithFrame:CGRectMake(0, 0, 62, 34)];
UIBarButtonItem *followButton = [[UIBarButtonItem alloc] initWithCustomView:follow];
self.navigationItem.rightBarButtonItem = followButton;

BackButton *back = [[BackButton alloc] initWithFrame:CGRectMake(0, 0, 108, 34)];
[back addTarget:self.navigationController action:@selector(popViewControllerAnimated:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:back];
self.navigationItem.leftBarButtonItem = backButton;

你能检查一下标题栏按钮的宽度吗?它是真的缩小了还是x位置只是改变了,然后被推离了屏幕。。。。如果宽度实际上变为“0”,则在加载其他按钮后,您应该能够强制将其设置回所需的宽度。

将压缩阻力优先级设置为高于
BackButton

看起来您的标题视图太大了。只要进入代码,看看屏幕有多大,你的问题就会得到回答。[UIScreen mainScreen]bounds].size.Width如果我将leftBarButtonItem保留为一个相当小的大小,并将rightBarButtonItem设置为巨大,直到它占据了导航栏的大部分,标题视图将自动调整大小,文本将被截断(如预期的那样)以适应剩余的小区域。如果我做相反的事情,右巴布托体小,左巴布托体大,左巴布托体就隐藏了。我希望标题视图能够调整大小以适应它们之间的关系。我希望它能缩小,这样更容易修复。不,大小保持不变,并且隐藏起来。理想的行为是标题视图缩小,就像左右按钮切换时一样。但是你能通过编程方式减小它的宽度,迫使它消失吗?