UIMenuController在Cell內(nèi)部無法顯示的解決辦法(iOS9.2)
Xcode7.2,iOS9.2環(huán)境下
嘗試在CollectionViewCell內(nèi)部,添加LongPress手勢(shì),顯示UIMenuController。
@implementation CollectionViewCell //繼承自UICollectionViewCell UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPress:)]; longPress.minimumPressDuration = 1; [self addGestureRecognizer:longPress];//添加長(zhǎng)按手勢(shì) //實(shí)現(xiàn)長(zhǎng)按方法 - (void)longPress:(UILongPressGestureRecognizer *)gesture { switch (gesture.state) { case UIGestureRecognizerStateBegan: { [self becomeFirstResponder];<span style="color: rgb(255, 0, 0);">//必須有!</span> UIMenuController *menu = [UIMenuController sharedMenuController]; UIMenuItem *item1 = [[UIMenuItem alloc] initWithTitle:@"保存" action:@selector(savePic)]; menu.menuItems = [NSArray arrayWithObject:item1]; [menu setTargetRect:self.scView.frame inView:self.scView.superview]; [menu setMenuVisible:YES animated:YES]; } break; default: break; } } <span style="color: rgb(0, 128, 0);">//必須實(shí)現(xiàn)。注意不是- (BOOL)becomeFirstResponder方法</span> - (BOOL)canBecomeFirstResponder { return YES; }
實(shí)現(xiàn)以上代碼,就可以在長(zhǎng)按cell時(shí)顯示出UIMenuController。但是有一個(gè)問題就是,當(dāng)我滑動(dòng)CollectionView時(shí),menu并沒有第一時(shí)間隱藏。
所以,可以在你需要menu隱藏的方法內(nèi)部。實(shí)現(xiàn)以下代碼。
UIMenuController *menu = [UIMenuController sharedMenuController];
[menu setMenuVisible:NO animated:NO];
以上就是UIMenuController在Cell內(nèi)部無法顯示的解決辦法,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
iOS中PNChart與UITableView的聯(lián)動(dòng)示例詳解
PNChart是個(gè)界面很漂亮的圖表第三方庫,UITableView則不用過多介紹了,各位iOS開發(fā)者們都知道,下面這篇文章主要給大家介紹了關(guān)于iOS中PNChart與UITableView的聯(lián)動(dòng)的相關(guān)資料,需要的朋友可以參考下2018-07-07iOS App中調(diào)用iPhone各種感應(yīng)器的方法總結(jié)
Xcode環(huán)境中包含CoreMotion框架,能夠幫助我們調(diào)用硬件設(shè)備的加速度傳感器和陀螺儀等感應(yīng)器,下面比較詳細(xì)地整理了iOS App中調(diào)用iPhone各種感應(yīng)器的方法總結(jié),需要的朋友可以參考下:2016-07-07iOS開發(fā)中使用CoreLocation框架處理地理編碼的方法
這篇文章主要介紹了iOS開發(fā)中使用CoreLocation框架處理地理編碼的方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-12-12iOS實(shí)現(xiàn)調(diào)用QQ客戶端發(fā)起臨時(shí)會(huì)話
本篇文章主要給大家詳細(xì)分析了用IOS實(shí)現(xiàn)調(diào)用QQ客戶端發(fā)起臨時(shí)會(huì)話的功能,對(duì)此有需要的朋友收藏分享下。2018-02-02iPhone/iPad開發(fā)通過LocalNotification實(shí)現(xiàn)iOS定時(shí)本地推送功能
這篇文章主要介紹了iPhone/iPad開發(fā)之通過LocalNotification實(shí)現(xiàn)iOS定時(shí)本地推送功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09