2014-03-14 31 views
0

我希望能夠訪問的MPMediaPickerController,以便我可以更改'navigationController.tabBarController.selectedIndex'。但是,似乎我無法訪問它。在iOS 7中,MPMediaPickerController的默認選項卡是「播放列表」選項卡,但我想將其更改爲「歌曲」選項卡。我知道這是可能的,因爲我看到Rise鬧鐘等其他應用程序已經做到了這一點,但我不知道它們是如何做到的。如何訪問MPMediaPickerController navigationController?

這裏是subviewsMPMediaPickerController

<UIWindow: 0x14e812a0; frame = (0 0; 320 568); gestureRecognizers = <NSArray: 0x14e81a30>; layer = <UIWindowLayer: 0x14e81a80>> 
    | <UIView: 0x14ed3c10; frame = (0 0; 320 568); layer = <CALayer: 0x14ee8d50>> 
    | | <_UISizeTrackingView: 0x14d45050; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x14d44d70>> 
    | | | <_UIRemoteView: 0x14d446c0; frame = (0 0; 320 568); transform = [0.5, -0, 0, 0.5, -0, 0]; userInteractionEnabled = NO; layer = <CALayerHost: 0x14d44020>> 

回答

0

MPMediaPickerControllerUIViewController子類,因此你可以使用標準的視圖控制器的方法來訪問它的導航控制器或酒吧 - .navigationControllertabBarController

如果您無法通過這些方法訪問它,您應該假設該課程旨在不讓您訪問它們。通過迭代控制器的各種子視圖,很可能可以訪問底層的標籤欄,但這是不可取的。

+0

您能提供更多關於如何遍歷子視圖來查找標籤欄的信息嗎? – thisiscrazy4

+0

只需要遍歷MPMediaPickerController視圖子視圖的遞歸for循環。但請記住,這是非常糟糕的做法,因爲您不應該搞亂系統提供的控件,他們可以從發佈到發佈更改其佈局和結構,從而導致您的應用程序中斷。 – lxt

+0

我做了一個遞歸描述來查找子視圖,查看更新後的問題。哪個子視圖可以訪問標籤欄? – thisiscrazy4

相關問題