2011-11-12 104 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子类。