在IOS 中,像 这样设置按钮的位置时,按钮的位置是固定的。
<span style="font-size:24px;"> UIBarButtonItem *leftItem = nil;
leftItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton];
[self.navigationItem setLeftBarButtonItem:leftItem];</span>
</pre><pre code_snippet_id="394119" snippet_file_name="blog_20140616_3_7428778" name="code" class="html"><span style="font-size:24px;">而下面的方法只能更改button上下的位置,并且不适用于包涵图片的button</span>
<pre name="code" class="objc"><span style="font-size:24px;"> [leftItem setTitlePositionAdjustment:UIOffsetMake(-5, 0) forBarMetrics:UIBarMetricsDefault];</span>
如果想设置button左右的偏移可以使用如下方法:
<span style="font-size:24px;"> leftItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton];
UIBarButtonItem *space = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
space.width = -11;//自己设定
[self.navigationItem setLeftBarButtonItems:[NSArray arrayWithObjects:space,leftItem, nil]];
</span>