你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> UIMenuController在Cell外部沒法顯示的處理方法(iOS9.2)

UIMenuController在Cell外部沒法顯示的處理方法(iOS9.2)

編輯:IOS開發綜合

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)】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved