Xcode7.2,IOS9.2情況下
測驗考試在CollectionViewCell外部,添加LongPress手勢,顯示UIMenuController。
@implementation CollectionViewCell //繼續自UICollectionViewCell UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithtarget:self action:@selector(longPress:)]; longPress.minimumPressDuration = 1; [self addGestureRecognizer:longPress];//添加長按手勢 //完成長按辦法 - (void)longPress:(UILongPressGestureRecognizer *)gesture { switch (gesture.state) { case UIGestureRecognizerStateBegan: { [self becomeFirstResponder];<span >//必需有!</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 >//必需完成。留意不是- (BOOL)becomeFirstResponder辦法</span> - (BOOL)canBecomeFirstResponder { return YES; }
完成以上代碼,便可以在長按cell時顯示出UIMenuController。然則有一個成績就是,當我滑動CollectionView時,menu並沒有第一時光隱蔽。
所以,可以在你須要menu隱蔽的辦法外部。完成以下代碼。
UIMenuController *menu = [UIMenuController sharedMenuController];
[menu setMenuVisible:NO animated:NO];
以上就是UIMenuController在Cell外部沒法顯示的處理方法,願望對年夜家的進修有所贊助,也願望年夜家多多支撐本站。
【UIMenuController在Cell外部沒法顯示的處理方法(iOS9.2)】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!