navigationItem setRightBarButtonItems間距過寬
我試圖減少這兩個欄按鈕項目之間的距離。
我使用
navigationItem setRightBarButtonItems
設置兩個按鈕的項目,但他們相距甚遠也。
我已經嘗試添加負空間,我嘗試添加一個間隔符後,固定空間,靈活的空間。沒有看到文檔中的任何內容,說你不能改變間距,但我找不到方法。
感謝您的幫助提前。
編輯後回答:
兆鍾燦的回答是完全正確的,但因爲我並沒有完全得到它起初我以爲我會分享讓我意識到,他是完全正確的代碼。
如果你把它全部在一個塊,這是他(非常正確)的答案是什麼樣子:
UIView *filterBtnView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 35, 35)];
UIButton *filterBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 35, 35)];
[filterBtn addTarget:self action:@selector(someMethod) forControlEvents:UIControlEventTouchUpInside];
[filterBtn setBackgroundImage:[UIImage imageNamed:@「someicon」] forState:UIControlStateNormal];
[filterBtnView addSubview:filterBtn];
UIBarButtonItem *btnFilter = [[UIBarButtonItem alloc] initWithCustomView:filterBtnView];
UIView *selectBtnView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 35, 35)];
UIButton *selectBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 35, 35)];
[selectBtn setBackgroundImage:[UIImage imageNamed:@「someothericon」] forState:UIControlStateNormal];
[selectBtn addTarget:self action:@selector(someOtherMethod:) forControlEvents:UIControlEventTouchUpInside];
[selectBtnView addSubview:selectBtn];
UIBarButtonItem *btnSelect = [[UIBarButtonItem alloc] initWithCustomView:selectBtnView];
[self.navigationItem setRightBarButtonItems:@[btnFilter, btnSelect] animated:YES];
對我來說,這樣做的好處是,它提供了一個窺探蘋果公司實際上是如何設置一些觀點來偏向於他們只想使用它們。所以如果你想做高度定製的用戶界面,你必須做許多UIView操作來解決他們(可能)無意的障礙。
這個故事的寓意:如果視圖不排隊適合你嘗試重新從UIView的水平了視圖,然後將它添加到您要在顯示它的視圖
再次感謝兆仲燦!
檢查圖像尺寸寬度,看它是否是非常大的。 – gabbler 2014-11-24 06:23:25
謝謝。按鈕的大小是我放入按鈕的圖像的大小。所以這是決定間距的其他因素。 – addzo 2014-11-24 12:30:49