0

我有这段代码,我希望它根据选定的数组文本获取标签值。

- (IBAction)Share:(UIButton*)sender
{

        menuItems =
        @[

          [KxMenuItem menuItem:@"Share"
                         image:nil
                        target:self
                        action:NULL],

          [KxMenuItem menuItem:@"Share this on Facebook"
                         image:[UIImage imageNamed:@"facebook.png"]
                        target:self
                        action:@selector(pushMenuItem:)],

          [KxMenuItem menuItem:@"Share this on Twitter"
                         image:[UIImage imageNamed:@"Twitter.png"]
                        target:self
                        action:@selector(pushMenuItem:)],


          [KxMenuItem menuItem:@"Version 1.0"
                          image:nil
                        target:self
                        action:NULL],

          ];

        first = menuItems[0];

        first.foreColor = [UIColor colorWithRed:47/255.0f green:112/255.0f blue:225/255.0f alpha:1.0];
        first.alignment = NSTextAlignmentCenter;

    [KxMenu showMenuInView:self.view fromRect:sender.frame menuItems:menuItems];


}

- (void) pushMenuItem:(id)sender
{

NSLog(@"%@",sender);

}

我想在发件人中获取标签值。我如何将标签值设置为此自定义弹出类。

MenuItem是数组

4

2 回答 2

1

您不能将标签设置为 KxMenuItem,因为它是 NSObject 的子类。您可以使用的一种方法是创建MenuItem一个成员变量并在操作方法中获取索引,如下所示。

- (void) pushMenuItem:(id)sender
{
 NSLog(@"%@",sender);
 int index = [self.MenuItem indexOfObject:sender];
}
于 2013-10-18T08:45:01.403 回答
0

如果我没记错的话, aKXMenuItem不是 的子类UIView,这意味着没有tag可用的属性是免费的。

但是,您可以为不同的菜单项使用不同的选择器,或者检查发件人的标题并根据匹配的内容做出决定。例如:

- (void) pushMenuItem:(id)sender
{
   KXMenuItem *selected = (KXMenuItem*)sender;
   if ( [selected.title isEqualToString:@"Share this on Facebook"] ){
        //share on facebook
   }
   else //And so on
}
于 2013-10-18T08:40:50.487 回答