2013-11-14 18 views
9

Xcode'ta yeniyim, 4.6.3 sürümünü kullanıyorum - Macbook yeni sürüm için çok eski.Seçilen kelimenin Vikipedi sayfasına bir bağlantı olan UITextView menüsüne özel menü öğesi nasıl eklenir?

İnternete baktım ve Yığın Taşması'na baktım ve ne istediğimi bulamıyorum veya parçacıkların çalışmasını sağlayamıyorum.

UITextView'de bir sözcüğü uzatırken görünen menü öğelerine bir menü öğesi eklemek istiyorum. Ben "Wiki" demek istiyorum ve bu basıldığında, seçilen kelimenin wikipedia sayfasına link olacaktır. Safari aracılığıyla olabilir veya bunu bir web görünümünde uygulamada yapmalı mıyım?

buldum:

UIMenuController *menuController = [UIMenuController sharedMenuController]; 
UIMenuItem *item1 = [[UIMenuItem alloc] initWithTitle:@"Do This" action:@selector(item1)]; 
[menuController setMenuItems:[NSArray arrayWithObject:item1]]; 

Ama bu bir şey yapmak değildi.

Maalesef bir womens sayfasının alınmasına ilişkin önerileri anlayamıyorum, bu kadar gelişmiş değilim, üzgünüm. Genellikle kod parçacıklarının nereye yerleştirileceğini bilmiyorum.

UILabel Metni daha iyi görüntüledim, dikdörtgen UITextView'daki metnin üstte bir boşluk var, bu yüzden metin ortalanmıyor, UITextview parametrelerinin dengelenmesi metnin merkezi olarak değil üstte sabitlendiği anlamına geliyor. UILabel'a menüler eklemek çok zor görünüyor.

cevap

14

MyViewController.h

@interface MyViewController : UIViewController 

// Linked textField from interface builder 
@property (weak, nonatomic) IBOutlet UITextField *textField; 

@end 

viewDidLoad yöntemde MyViewController.m

, UIMenuController için wiki düğmesi ekleyin.

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    // Add wiki button to UIMenuController 
    UIMenuController *menuController = [UIMenuController sharedMenuController]; 
    UIMenuItem *wikiItem = [[UIMenuItem alloc] initWithTitle:@"Wiki" action:@selector(openWiki:)]; 
    [menuController setMenuItems:[NSArray arrayWithObject:wikiItem]]; 

} 

openWiki yöntemi oluşturun:

- (void)openWiki:(id)sender { 

    if(![[_textField selectedTextRange] isEmpty]) { 

     // Url string 
     NSString *urlStr = [NSString stringWithFormat:@"http://en.wikipedia.org/wiki/%@",[_textField textInRange:[_textField selectedTextRange]]]; 

     // Create url object 
     NSURL *myURL = [[NSURL alloc] initWithString:urlStr]; 

     // Open url in safari 
     [[UIApplication sharedApplication] openURL:myURL]; 

    } 
} 

Ve o kadar.

+0

Hızlı cevap için teşekkürler, gerçekten takdir ediyorum. Şimdi yatma vakti, o yüzden elimden geldiğince çabucak deneyeceğim. Tekrar teşekkürler. – user2963333

+0

Çok teşekkürler, bu çok iyi çalışıyor. Ne harika bir hizmet bu. Ben çok müthişim – user2963333

+0

@ user2963333 Rica ederim. Lütfen, sorunuza cevap verirse cevabı kabul edin. :) – juniperi

İlgili konular