2011-11-12 49 views
4

我正在使用MKUserTrackingBarButtonItem來切換我的MKMapView的usertrackingMode。將MKUserTrackingBarButtonItem添加到UIView

  • 是否可以將此按鈕移出我的工具欄並將其置於正常的UIView上?
  • 當然,我可以自己實現按鈕的行爲。你有任何資源用於此按鈕中使用的圖標?

MKUserTrackingBarButtonItem Icons

感謝您的幫助。

回答

5

因此,似乎是沒有辦法直接任意類型欄按鈕項添加到UIView。我們將不得不繼承UIToolbar以創建一個完全不可見的工具欄。重寫- (void)drawRect:(CGRect)rect並把沒有,甚至沒有[super drawRect]。然後,在初始化,運行下面的代碼:

self = [super init]; 
self.backgroundColor = [UIColor clearColor]; 
self.opaque = NO; 
self.translucent = YES; 

return self; 

有關詳細信息,請訪問此鏈接:Couldn't UIToolBar be transparent?

+0

太棒了...那很好用!你知道這是否會導致AppStore的拒絕? – alex

+2

我不這麼認爲......以下列出了Apple不喜歡的東西:http://mobileorchard.com/avoiding-iphone-app-rejection-from-apple/。這整件事可能違反人機界面指南,但我懷疑它。 – aopsfan

+0

不錯的鏈接。再次感謝你的幫助... – alex

0

這是一個鏈接,您可以從按鈕中創建圖像。你可能想這樣做,因爲它進入多個狀態:

Create UIImage from shadowed view while retaining alpha?

+0

感謝您的鏈接。我看着它,但我認爲我的問題是不同的。我無法訪問按鈕內的「UIImageView」。有沒有辦法從UIBarItem中提取圖像(在這種情況下箭頭或箭頭+標題)? – alex

+0

button.image應返回用於該按鈕的圖像,但返回nil ...請參閱http://developer.apple.com/library/ios/#documentation/uikit/reference/UIBarItem_Class/Reference/Reference.html – alex

+0

'button .image'應該只返回圖像,而不是視圖...我想Apple正在使用不同的方法來配置他們的'MKUserTrackingBarButtonItem'。 – aopsfan

0

在iOS的11起,有MKUserTrackingButton這是一個UIView子類。