NSView | Проблем с десния бутон на NSTextField

Имам NSView и вътре в него има етикет: NSTextField Control, Вътре в NSView трябва да покажа контекстно меню при щракване с десния бутон, работи добре, с изключение на няколко проблема по-долу,

На някое място не работи, т.е. ако щракна с десния бутон, то не отваря контекстното меню, освен това разбрах, че съм запазил дължината/ширината на етикета е твърде голяма и щракването с десния бутон се случва върху етикета, но тъй като това е празната област, така че според потребителското изживяване трябва да позволява отваряне на контекстното меню, чувствам, че следвам два подхода за решаване на този проблем

1 -- Проверете ширината/дължината на времето за изпълнение на NSTextField, за да зададете правилната ширина,

2 - Прехвърлете събитието на мишката (или поне щракване с десния бутон) от NSTextField(Label) към неговия ParentView,

Може ли някой да ми предложи, как мога да постигна това?

Поздрави

Рохан


person Amitg2k12    schedule 23.02.2011    source източник


Отговори (2)


Не съм сигурен дали това помага, но когато щракнете с десния бутон на мишката върху полето nstext в Interface Builder, ще видите обект "меню". Свържете това с NSMenu и имате контекстно меню по подразбиране.

person lbrndnr    schedule 23.02.2011

Досега работи със следната част от кода,

-(void)initSubViews{ /* В тази функция просто инициирайте подизгледите */ NSSize imageSize = [pStatusImage size];

pStatusImageView = [[NSImageView alloc]initWithFrame:NSMakeRect(0, 0,     
                         imageSize.width,imageSize.height)];

pDisplayName = [[NSTextField alloc]initWithFrame:NSMakeRect(0, 0,          
                    STATUS_WIDTH,STATUS_HEIGHT)];
[pDisplayName becomeFirstResponder];

**[pDisplayName setMenu:pCTTableMenu];**

    ..........................................................
    ..........................................................
    ..........................................................

}

така че мога да видя менюто с десния бутон на мишката,

С уважение Рохан

person Amitg2k12    schedule 24.02.2011